Ответ 1
Для контроллера вида, использующего контроллер отображения поиска, вы можете установить
self.searchDisplayController.active = NO;
// or:
[self.searchDisplayController setActive:NO animated:YES];
чтобы закрыть интерфейс поиска.
Как запустить программную кнопку отмены в UISearchBar, например, если вы нажали кнопку отмены?
У меня есть UISearchBar в верхней части UITableView и после поиска, когда кто-то выбирает строку, я хочу запустить кнопку программной отмены в UISearchBar?
EDIT: Без взаимодействия с пользователем.
Для контроллера вида, использующего контроллер отображения поиска, вы можете установить
self.searchDisplayController.active = NO;
// or:
[self.searchDisplayController setActive:NO animated:YES];
чтобы закрыть интерфейс поиска.
Вам нужно реализовать UISearchBarDelegate
. Когда вы это сделаете, используйте:
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
Сообщает делегату, что кнопка отмены нажата.
Затем используйте:
[self searchBarCancelButtonClicked:yourSearchBar];
Для нового UISearchController (введенного в 2014 году с iOS 8) вы можете позвонить:
[self.searchController setActive:FALSE];
или
self.searchController.active = FALSE;
(Нет флага для анимации, я нашел, что он всегда анимируется.)
Как и для iOS 8, используется UISearchController
, чтобы программно выполнить действие кнопки отмены,
Использование:
[self.searchController setActive:NO];