1

我有 2 个文本字段。我正在检查两个文本字段的填充时间,然后,我将键盘返回按钮更改为“开始”。否则,它将保持为“返回”。它工作正常,只有当我点击文本字段时,键盘的返回类型才会改变。一旦两个文本字段都不为空,我想自动更改它。

我试着把我的代码

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{}

但它不适合我。

任何想法,我如何将返回按钮从返回更改为 Go,当他的两个字段都不为空时,自动地,用户没有点击任何文本字段来更改它。

4

4 回答 4

2

为两个文本字段设置委托。然后在创建 UItextFields 引用后将代码放入 viewDidLoad 一次

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

txtEmail.returnKeyType = UIReturnKeyDefault;
txtPass.returnKeyType = UIReturnKeyDefault;
}
于 2012-06-26T10:43:46.503 回答
1
//have you set the delegate of your textField if not then please set it.. 

txtEmail.delegate = self;
txtPass.delegate = self;
于 2012-06-26T10:44:23.570 回答
1

检查你的头文件UITextFieldDelegate协议和

不要忘记将委托设置为自我。

txtEmail.delegate = self;
txtPass.delegate = self;
于 2012-06-26T12:00:45.750 回答
1

textFieldDidBeginEditting在编辑开始之前触发,所以显然文本在那里没有改变。

您需要做的是检测按键以发现更改并基于该更改 returnKey 类型。请参阅此问题:如何在 UITextField 中检测 KeyPress 事件?- 它处理按键事件。

于 2012-06-26T10:41:57.503 回答