navigationControllerを使っている場合、
override func touchesBegan(_ touches: Set
, with event: UIEvent?) {
view.endEditing(true)
}
が使えない。
代わりにUITapGestureRecognizerを使う。
override func viewDidLoad() { super.viewDidLoad() //タップした時の処理を指定 let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(SearchViewController.dismissKeyboard)) tap.cancelsTouchesInView = false //他のボタンやセルのタップ検知を邪魔しないようにする view.addGestureRecognizer(tap) } //タップ時にキーボードを閉じる @objc func dismissKeyboard() { view.endEditing(true) }