見出し画像

TextFieldで入力が完了したらキーボードを閉じる

備忘録として残します。

○サンプルプロジェクト

画像1



コード全体

@IBOutlet weak var textField: UITextField!はstoryboardからtextFieldを繋いだものです。

import UIKit
class ViewController: UIViewController {
   
   @IBOutlet weak var textField: UITextField!
   
   override func viewDidLoad() {
       super.viewDidLoad()
       textField.delegate = self
   }
   
   override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
           self.view.endEditing(true)
       }
   
}

extension ViewController: UITextFieldDelegate {
   func textFieldShouldReturn(_ textField: UITextField) -> Bool {
           textField.resignFirstResponder()
           return true
       }
   
}


コードを簡単に解説すると、

・textField.delegate = selfでUITextFieldDelegate内のメソッドを使えるようにする。

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
           self.view.endEditing(true)
       }

で、textField以外の場所がタップされた時にキーボードを閉じられるようにします。(touchesBeganを直訳すると"タッチが始まった"ということなので画面のどこかをタッチした時に呼ばれるアクションというイメージです)


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

でキーボード内のreturnキーが押された時にキーボードを閉じられるようにします。

○イメージ

画像2



以上です。

いいなと思ったら応援しよう!