Я представил экран с помощью навигационного контроллера, и на этом экране у меня есть панель поиска, которую я сделал в качестве первого ответчика в viewWillAppear(). Проблема в том, что я хочу скрыть клавиатуру при нажатии кнопки «Готово» или нажатии кнопки «Отмена» в searchBar. Но делая то же самое с resignFirstResponder() и searchBar.endEditing(true) , он также скрывает UISearchBar. Я хочу показать UISearchBar, когда состояние также не редактируется.
В основном то, что я сделал, это то, что я сделал свой UISearchBar своим первым ответчиком как таковым:
override func viewWillAppear(_ animated: Bool) {
searchBar.becomeFirstResponder()
}
затем, когда пользователь нажимает поиск, я сделал:
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
searchBar.resignFirstResponder()
// Remove focus from the search bar.
}
То же самое и с кнопкой отмены. Но в моем случае вместо того, чтобы просто закрыть клавиатуру, это также скрывает UISearchbar() после вызова вышеуказанной функции.