且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

同时键入两个uitextfield

更新时间:2023-11-19 14:11:10

你可以使用以下代码:

Typein2.h - 声明三个textFields的类。 textFieldBeingEditedtextField用于了​​解正在编辑的textField(text1或text2)

Typein2.h - class where three textFields are declared. The "textFieldBeingEdited" textField is to know which textField (text1 or text2) is being edited

#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方法中执行以下操作:

In the viewDidLoad method do the following:

- (void)viewDidLoad
{
    [super viewDidLoad];

    text1.delegate = self;
    text2.delegate = self;

    [[NSNotificationCenter defaultCenter]
     addObserver:self
     selector:@selector(changeBothFieldsText:)
     name:UITextFieldTextDidChangeNotification
     object:nil ] ;
}

TextField委托方法:

TextField delegate Method:

-(void)textFieldDidBeginEditing:(UITextField *)textField {

    if ( [textField isEqual:text1] ) {
        textFieldBeingEdited = text1;
    }
    else
        textFieldBeingEdited = text2;

}

changeBothFieldsText方法:

changeBothFieldsText Method:

-(void)changeBothFieldsText:(NSNotification*)notification {

    if ( [textFieldBeingEdited isEqual:text1] ) {
        text2.text = text1.text;
    }
    else
        text1.text = text2.text;    
}