TextFieldをもつiOSアプリでユーザの特定のアクションでキーボードを閉じるためのコードです。
キーボードの『改行』キーを押された場合にキーボードを閉じる
- 表示するViewControllerクラスにUITextFieldDelegateを継承させる
- TextFieldのdelegateにselfを指定
- textFieldShouldReturnを実装しtextField.resignFirstResponder()を呼ぶ
class ViewController: UIViewController, UITextFieldDelegate { @IBOutlet weak var textField: UITextField! /* 略 */ override func viewDidLoad() { super.viewDidLoad() textField.delegate = self } func textFieldShouldReturn(_ textField: UITextField) -> Bool{ textField.resignFirstResponder() return true } }
TextField以外をタップされたらキーボードを閉じる
- touchesBeganを実装しself.view.endEditing()を呼ぶ
class ViewController: UIViewController { @IBOutlet weak var textField: UITextField! /* 略 */ override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { self.view.endEditing(true) } }