Я использую UISearchController для отображения строки поиска и результатов в UITableView. Мне удалось настроить его правильно, но когда я просматриваю результаты, а затем выбираю одну из строк в представлении таблицы и нажимаю новый контроллер представлений на стек навигации, я бы ожидал, что панель поиска больше не будет видна. Однако, когда я пытаюсь это, панель поиска с первого контроллера представления видна во 2-м контроллере представления:UISearchController не скрывает вид при нажатии
if (self.searchController == nil) {
self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
self.searchController.searchResultsUpdater = self;
self.searchController.dimsBackgroundDuringPresentation = NO;
self.searchController.searchBar.scopeButtonTitles = @[];
self.searchController.searchBar.delegate = self;
self.tableView.tableHeaderView = self.searchController.searchBar;
}
Одним из вариантов является вызов self.searchController setActive:NO]
внутри didSelectRowAtIndexPath:
но это не способ сделать это без отвлекающую анимацию при отображении строки поиска каждый раз, когда выбираются результаты поиска.
У кого-то есть такая же проблема? Есть ли способ сообщить UISearchController скрыть строку поиска при нажатии? Он работал хорошо, когда я использовал UISearchDisplayController
Это [решение] (http://stackoverflow.com/questions/29472011/uisearchcontroller-persisting-after-segue/29624748#29624748) help? –