Ответ 1
Прежде всего, вы должны реализовать UISearchBarDelegate
в своем классе и проверить, подключили ли вы к вашему UISearchBar
или нет?
Если вы добавляете UISearchBar
через IB, вам следует выбрать свойство делегирования UISearchBar владельцу файла. Убедитесь, что вы правильно подключили IBOutlet
для UISearchBar
в коде.
Если вы добавляете UISearchBar
через код, то вы должны установить делегат самостоятельно в коде, подобном этому searchBar.delegate=self;
Следующий шаг - убедиться, что вызываются методы делегата, что очевидно, если вы правильно подключили делегат, лучше всего проверять вещи - это поставить указатель перелома в ваш код или распечатать с помощью NSLog
.
Наконец, используйте этот метод, чтобы скрыть клавиатуру, если вы хотите скрыть, когда пользователь нажимает на поиск
- (void) searchBarSearchButtonClicked:(UISearchBar *)searchBar {
[searchBar resignFirstResponder];
}
ИЛИ вы могли бы попробовать, когда закончите редактирование
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar {
[searchBar resignFirstResponder];
}