5

可能重复:
如何在文本字段中导航(下一步/完成按钮)
iOS 应用程序“下一步”键不会转到下一个文本字段

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

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

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

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

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

4

3 回答 3

5

您在方法中拥有的代码textFieldDidEndEditing:属于该textFieldShouldReturn:方法。

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

    return NO;
}
于 2012-11-07T21:38:56.620 回答
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:委托UITextField

- (BOOL)textFieldShouldReturn:(UITextField *)textField {

    if(textField.tag == 100)
    {
        [password_Text becomeFirstResponder];
    }    
    else if(textField.tag == 101)
    {
        [textField resignFirstResponder];
    }
    else
    {
         ; //NOP
    }    

    return YES;
}

试试这个。

快乐编码:)

于 2012-11-08T04:12:12.397 回答
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;

}

于 2012-11-08T06:52:40.687 回答