同时键入两个uitextfield

时间:2011-04-30 08:02:11

标签: iphone ios uitextfield

我想同时输入两个uitextfield。这可能吗?

2 个答案:

答案 0 :(得分:1)

我认为没有理由不能在第一个UITextView中捕获对文本的更改,然后在第二个中更改文本。通知UITextViewTextDidChangeNotification和text属性应该可以满足您的需求。

答案 1 :(得分:1)

您可以使用以下代码执行此操作:

Typein2.h - 声明三个textField的类。 “textFieldBeingEdited”textField用于了​​解正在编辑的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;    
}