Вы можете сделать это, используя следующий код:
Typein2.h - класс, в котором объявлены три текстовых поля. TextField «textFieldBeingEdited» должен знать, какой textField (text1 или text2) редактируется
#import <UIKit/UIKit.h>
@interface Typein2 : UIViewController <UITextFieldDelegate> {
UITextField *text1;
UITextField *text2;
UITextField *textFieldBeingEdited;
}
@property (nonatomic, retain) IBOutlet UITextField *text1;
@property (nonatomic, retain) IBOutlet UITextField *text2;
@end
В методе viewDidLoad выполните следующие действия:
- (void)viewDidLoad
{
[super viewDidLoad];
text1.delegate = self;
text2.delegate = self;
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(changeBothFieldsText:)
name:UITextFieldTextDidChangeNotification
object:nil ] ;
}
Метод делегата TextField:
-(void)textFieldDidBeginEditing:(UITextField *)textField {
if ( [textField isEqual:text1] ) {
textFieldBeingEdited = text1;
}
else
textFieldBeingEdited = text2;
}
Метод changeBothFieldsText:
-(void)changeBothFieldsText:(NSNotification*)notification {
if ( [textFieldBeingEdited isEqual:text1] ) {
text2.text = text1.text;
}
else
text1.text = text2.text;
}