我有2个textfields.I我正在检查两个文本字段的填充时间,而不是,我将键盘返回按钮更改为“Go”.Else,它将保持为“Return”。 它的工作正常,键盘的返回类型只有当我点击文本字段时才会改变。 我希望,一旦两个文本字段都非空,就自动更改它。
我尝试了我的代码
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{}
但它不适合我。
任何想法,我如何更改返回按钮的返回按钮,当两个字段都非空时,自动,用户没有点击任何文本字段来更改它。
答案 0 :(得分:2)
为两个文本字段设置委托。然后在创建文本字段
之后将代码放入viewDidLoad中if ([txtEmail.text length] > 0 && [txtPass.text length] > 0)
{
txtEmail.returnKeyType = UIReturnKeyGo;
txtPass.returnKeyType = UIReturnKeyGo;
}
else
{
txtEmail.returnKeyType = UIReturnKeyDefault;
txtPass.returnKeyType = UIReturnKeyDefault;
}
答案 1 :(得分:1)
textFieldDidBeginEditting
在编辑开始之前触发 ,所以显然文字不会在那里发生变化。
您需要做的是检测按键以发现更改并根据更改返回键类型。请参阅此问题:How can I detect a KeyPress event in UITextField? - 它处理按键事件。
答案 2 :(得分:1)
//have you set the delegate of your textField if not then please set it..
txtEmail.delegate = self;
txtPass.delegate = self;
答案 3 :(得分:1)
检入头文件UITextFieldDelegate
协议和
不要忘记将委托设置为自己。
txtEmail.delegate = self;
txtPass.delegate = self;