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 委托正确分配时,它将正常工作。
我有两个类。在其中之一中, 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 委托正确分配时,它将正常工作。