当用户点击返回时,如何将下一个文本字段设置为焦点以进行编辑?

时间:2012-11-07 21:22:09

标签: iphone ios ipad cocoa-touch

  

可能重复:
  How to navigate through textfields (Next / Done Buttons)
  iOS app “next” key won’t go to the next text field

我的视图中有两个文本字段,当用户点击返回键时,我希望光标从电子邮件文本字段移动到密码文本字段。如果密码文本字段是焦点文本字段,我希望键盘隐藏。这是我现在拥有的,但它不起作用......

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    return YES;
}

- (void)textFieldDidEndEditing:(UITextField *)textField {
    if(textField == self.emailTextField) {
        [self.passwordTextField becomeFirstResponder];
    }

    else if (textField == self.passwordTextField) {
        [textField resignFirstResponder];
    }
}

我错过了什么?非常感谢您的智慧!

3 个答案:

答案 0 :(得分:5)

textFieldDidEndEditing:方法中的代码属于textFieldShouldReturn:方法。

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    if(textField == self.emailTextField) {
        [self.passwordTextField becomeFirstResponder];
    } else if (textField == self.passwordTextField) {
        [textField resignFirstResponder];
    }

    return NO;
}

答案 1 :(得分:0)

嗯,作为参考,我们有两个文本域,

UITextField *email_Text;
email_Text.tag  = 100;
email_Text.delegate = self;

UITextField *password_Text;
password_Text.tag = 101;
password_Text.delegate = self;

您必须在UITextFieldDelegate文件中实施.h

目前我没有在文本字段中使用任何分配方法。如果文本字段位于xib中,则必须自行分配或将其作为插座。我只是有两个对象仅供参考。而且这些对象必须在类中全局访问(我的意思是你应该在标题中声明它)。

下一步是实施textFieldShouldReturn:的{​​{1}}代表。

UITextField

试试这个。

快乐编码:)

答案 2 :(得分:0)

你错过了一件事

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
if(textField == self.emailTextField) {
    [self.passwordTextField becomeFirstResponder];
     [self.emailTextField resignFirstResponder];
} else if (textField == self.passwordTextField) {
    [textField resignFirstResponder];
    [self.emailTextField becomeFirstResponder];
}

return NO;

}

相关问题