7

我有三个文本字段,我希望能够将光标移动到下一个。当到达最后一个时,键盘关闭。但没有什么对我有用......这是我所拥有的一个例子。但是,没有任何动作,当我选择下一个按钮时也没有任何反应。

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    if (textField == field1TextField) {
        [textField resignFirstResponder];
        [field2TextField becomeFirstResponder];
    } 
    else if (textField == field2TextField) {
        [textField resignFirstResponder];
        [field3TextField becomeFirstResponder];
    }
    else if (textField == field3TextField) {
        [textField resignFirstResponder];
    }
    return YES;
}
4

1 回答 1

3

此方法绑定的对象应设置为文本字段的委托。通过在方法中设置断点来检查这一点,以验证它是否在您认为它被调用时被调用。

如果您使用的是 nib 或故事板,则field...实例变量应该是正确连接的插座。如果它们是以编程方式创建的,则应确保它们具有分配给它们的对象。当您在方法中时,通过检查这些变量的值来验证这一点。

resignFirstResponder在调用另一个控件之前,您不必调用其他控件becomeFirstResponder

于 2013-04-06T00:29:54.477 回答