textFieldShouldReturn 不工作

textFieldShouldReturn not working

我有两个类。在其中之一中, return 键(用于虚拟键盘)完美运行。另一方面,它没有。据我所知,代码几乎相同。有人能帮我弄清楚为什么我的那个不起作用吗?

这个有效:

class ChangePasswordVC: UIViewController, UITextFieldDelegate {


    func textFieldShouldReturn(textField: UITextField) -> Bool {
        if textField == self.tempPasswordTextField {
            self.changeTempPasswordTextField.becomeFirstResponder()
        }
        else if textField == self.changeTempPasswordTextField {
            self.confirmChangeTempPasswordTextField.becomeFirstResponder()
        }
        else  {
            changePasssword()
        }

        return true
    }
}

这个不行:

class ResetPasswordVC: UIViewController, UITextFieldDelegate {
func textFieldShouldReturn(textField: UITextField) -> Bool {
        if textField == self.emailTextField {
            print("go button tapped")
            submitEmailForPasswordReset()
        }
        return true
    }

}

我将 print 语句放入其中以查看它是否会触发,但它没有向控制台打印任何内容。

您可能忘记了一些委托设置,请检查:

    self.tempPasswordTextField.delegate = self
    self.changeTempPasswordTextField.delegate = self
    self.confirmChangeTempPasswordTextField.delegate = self
    self.emailTextField.delegate = self

在您的代码中,特别检查最后一个 (self.emailTextField)。

您必须使用 StoryBoard/XIB 或代码设置 UITextField 委托。当 UITextField 委托正确分配时,它将正常工作。