2017-01-08 5 views

答えて

9

を試してみてくださいあなたの問題は、あなたがそのメソッドを使用するためにTextFieldを委任しなかったことです。

scoreText.delegate = self 

をそしてあなたは、この変更する必要があります::

class yourClass: UIViewController, UITextFieldDelegate{ ... } 

そしてviewDidLoadには、同様にこれを追加します。これに

func textFieldShouldReturn(_ scoreText: UITextField) -> Bool { 
    self.view.endEditing(true) 
    return false 
} 

を第一に、あなたのクラスはUITextFieldDelegateプロトコルを含める必要があります。

func textFieldShouldReturn(_ scoreText: UITextField) -> Bool { 
    self.view.endEditing(true) 
    return true 
} 

最終コード:

class yourClass: UIViewController, UITextFieldDelegate{ 

@IBOutlet weak var scoreText: UITextField! 

override func viewDidLoad(){ 
    super.viewDidLoad() 
    scoreText.delegate = self 
} 

func textFieldShouldReturn(_ scoreText: UITextField) -> Bool { 
    self.view.endEditing() 
    return true 
} 

これが動作しない場合は、問題がtextFieldShouldReturn関数ではありません。コンセントの接続を確認してください。

+0

でコンソールにバグを表示してください。これが動作するためには、これだけを実行してください。 –

+0

この問題がある:http://i.imgur.com /PAWVdrb.pngところで、なぜ、ラベルやボタンなどではなく、TextFieldを委譲する必要がありますか? – stevetheipad

+0

@stevetheipad 1 - ** textFieldShouldReturn **関数が** UITextFieldDelegate **に含まれているため、 2 - あなたの議論を追加しようとする:** self.view.endEditing(真)**、私はおそらく私の答えでそれを逃した –

0

この

func textFieldShouldReturn(_ textField: UITextField) -> Bool { 
    textField.resignFirstResponder() 
    return true 
} 
+0

いいえ、同じ問題です。 – stevetheipad

+0

@stevetheipad UITextFieldデリゲートに従うようにView Controllerを設定しましたか? – Mochi

+0

申し訳ありませんが、IBOutletを意味しますか?もしそうなら、私はUITextFieldにそれらの1つを追加しました。 – stevetheipad

関連する問題