を試してみてくださいあなたの問題は、あなたがそのメソッドを使用するために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
関数ではありません。コンセントの接続を確認してください。
でコンソールにバグを表示してください。これが動作するためには、これだけを実行してください。 –
この問題がある:http://i.imgur.com /PAWVdrb.pngところで、なぜ、ラベルやボタンなどではなく、TextFieldを委譲する必要がありますか? – stevetheipad
@stevetheipad 1 - ** textFieldShouldReturn **関数が** UITextFieldDelegate **に含まれているため、 2 - あなたの議論を追加しようとする:** self.view.endEditing(真)**、私はおそらく私の答えでそれを逃した –