2016-05-18 31 views
0

我有两个类。其中之一,返回键(用于虚拟键盘)完美地工作。另一方面,它没有。据我所知,代码非常相似。有人能帮我弄清楚为什么我的它没有解雇那个不起作用的人吗?textFieldShouldReturn不工作

这一个工程:

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 
    } 

} 

我把打印语句,看它是否在触发所有,但它并不打印任何东西到控制台。

+0

您是否在文本字段上设置了不起作用的委托? –

+0

99%的时间,当这种东西不起作用是由于没有设置代表 – Gruntcakes

+0

我没有,但我没有它的工作 –

回答

6

你可能已经忘记了一些代理设置,检查:

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

在你的代码,特别是检查上次(self.emailTextField)。

2

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

相关问题