0

我有这个代码。

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    //If user presses next go to next textfield
    if (textField == self.emailTextField) {
        [textField resignFirstResponder];
        [self.passwordTextField becomeFirstResponder];
    }
    else if (textField == self.passwordTextField) {
        [self.passwordTextField resignFirstResponder];
    }

    return YES;
}

下面的这一行运行,但它所做的只是使文本字段处于非活动状态并将键盘留在那里。然后,如果您点击键盘上的键,则它什么也不做。

[self.passwordTextField resignFirstResponder];

这不是一个重复的问题,因为正常方法由于某种原因不起作用。

4

2 回答 2

1

如果是多个UITextFields,请勿调用resignFirstResponder;。您需要调用endEditing:

调用endEditing:视图层次结构中文本字段上方的任何视图。它将找到第一响应者并要求其辞职。用于endEditing:YES强制它或endEditing:NO让文本字段的委托决定是否应该结束编辑(如果您正在验证输入,则很有用)。

还有一件事你必须知道。您是否将委托设置为所有 UITextFields?

将委托设置为所有 UITextField。

于 2013-08-23T07:45:15.173 回答
0

利用

[self.view endEditing:YES];
于 2013-08-23T07:53:05.303 回答