Как программно нажать кнопку "Отмена" панели поиска или вернуть ее в исходное состояние?

Что мне нужно, так это то, что после нажатия кнопки "Поиск" панель поиска возвращается в исходное состояние, так что я могу получить доступ к любому элементу пользовательского интерфейса одним нажатием. Потому что в настоящее время мне нужно один раз нажать где-нибудь на экране, прежде чем я смогу взаимодействовать с другими элементами пользовательского интерфейса. Я пробовал searchBar.resignFirstResponder() и searchBar.endEditing(true) и другие UIView.endEditing, но это не сработает. Спасибо за продвижение!

Например,

func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
    //search products, reload table and then:

    searchBar.resignFirstResponder()
}

ОБНОВЛЕНИЕ: нашел решение! searchController.isActive = false

1 ответ

Если я вас правильно понимаю, вам нужно спрятаться Cancel кнопка после того, как вы нажали его. Если да, пожалуйста, попробуйте это.

func searchBarTextDidBeginEditing(searchBar: UISearchBar) {
    searchBar.showsCancelButton = true
}

func searchBarCancelButtonClicked(searchBar: UISearchBar) {
    searchBar.text = nil
    searchBar.showsCancelButton = false
    searchBar.endEditing(true)
}
Другие вопросы по тегам