2012-06-26 30 views
1

我有2个textfields.I正在检查两个文本字段是否填充,比我更改键盘返回按钮为“去”。否则,它将保持为“返回”。 其工作正常,键盘的返回类型改变,只有当我点击文本框。 我想要自动更改它,一旦两个文本字段都是非空的。如何更改键盘的返回类型,iPhone

我试图把我的代码

if ([txtEmail.text length] > 0 && [txtPass.text length] > 0) { 
    // Set the return key here, e.g: 
    txtEmail.returnKeyType = UIReturnKeyGo; 
    txtPass.returnKeyType = UIReturnKeyGo; 
} 
else { 
    // Set the return key here, e.g: 
    txtEmail.returnKeyType = UIReturnKeyDefault; 
    txtPass.returnKeyType = UIReturnKeyDefault; 
} 

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

,但它不是为我工作。

任何想法,我怎么能改变返回按钮从返回到去,当他的字段都是非空时,自动,用户没有水龙头在任何文本字段来改变它。

+1

可能是你可以尝试使用方法 - (BOOL)文本框:(*的UITextField)文本框shouldChangeCharactersInRange:(NSRange)范围replacementString:(的NSString *)字符串 – rishi

回答

2

设置委托双方textfields.then投入的viewDidLoad代码

if ([txtEmail.text length] > 0 && [txtPass.text length] > 0) 
{ 
txtEmail.returnKeyType = UIReturnKeyGo; 
txtPass.returnKeyType = UIReturnKeyGo; 
} 
else 
{ 

txtEmail.returnKeyType = UIReturnKeyDefault; 
txtPass.returnKeyType = UIReturnKeyDefault; 
} 
1

textFieldDidBeginEditting火灾编辑开始之前,所以显然文字在那里没有改变。

您需要做的是检测按键来发现更改并基于该更改returnKey类型。看到这个问题:How can I detect a KeyPress event in UITextField? - 它涉及按键事件。

1
//have you set the delegate of your textField if not then please set it.. 

txtEmail.delegate = self; 
txtPass.delegate = self; 
1

检查在你的头文件创建UItextFields参考后一度UITextFieldDelegate protocal和

不要忘记设置委托自我。

txtEmail.delegate = self; 
txtPass.delegate = self;