如何更改键盘返回类型,iPhone

时间:2012-06-26 10:35:10

标签: iphone ipad

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

但它不适合我。

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

4 个答案:

答案 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;