2016-05-18 17 views
0

私は2つのクラスを持っています。そのうちの1つでは、リターンキー(仮想キーボード用)は完全に機能します。もう一つは、そうではありません。私が知る限り、コードはほぼ同じです。誰かがなぜ私のそれが働かないもので発射されないのか理解できますか?textFieldShould戻りません

この1作品:

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 
    } 
} 

この1つは動作しません:

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

} 

私はそれがすべてで発射するかどうかを確認するにはprint文を入れますが、それはしませんコンソールには何も印刷しないでください。特に最後の(self.emailTextField)をチェックし、あなたのコードで

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

+0

正常に機能しないテキストフィールドにデリゲートセットがありますか? –

+0

この種のものが動作しない時間の99%は、デリゲートが設定されていないためです。 – Gruntcakes

+0

私はそれを動作させるものに設定していません。 –

答えて

6

おそらく、デリゲートの設定の一部を忘れている、かどうかを確認。

2

StoryBoard/XIBまたはコードを使用して、UITextFieldデリゲートを設定する必要があります。 UITextFieldデリゲートが正しく割り当てられていると正常に動作します。

関連する問題