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)
}