UITableView + UISearchBarでキーボードを閉じれるようにする


UITableview + UISearchBarで
becomeFirstResponder
するとキーボードがでるけど、どうやって閉じるんだ状態だった
そんなわけで、閉じるやり方


・テーブルビューをスクロールさせたらキーボードを閉じる

tableView.keyboardDismissMode = .onDrag

・画面タッチでキーボードを閉じる
touchesBeganでタッチされたら検知
endEditingでキーボードを閉じる

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

・検索フォームで決定を押したらキーボードを閉じる
UISearchBarDelegateを使ってコールバックを取得する

func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
    searchBar.resignFirstResponder()
}

 

参考
https://stackoverflow.com/questions/17628269/uisearchbar-keyboard-search-button-action
https://stackoverflow.com/questions/4399357/hide-keyboard-when-scroll-uitableview

関連記事:

Pocket