Как закрыть программный UISearchDisplayController? - PullRequest
30 голосов
/ 23 августа 2010

Я хочу закрыть свой UISearchDisplayController, когда пользователь нажимает кнопку «Поиск», так как я загружаю новые данные из Интернета. Как мне закрыть контроллер программно? У меня уже есть нужный метод, но я не знаю, как это сделать.

Я думал, что ниже будет работать, но я ошибаюсь.

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
    [self.searchDisplayController finalize];
}

Ответы [ 3 ]

69 голосов
/ 23 августа 2010
[self.searchDisplayController setActive:NO animated:YES];

Наслаждайтесь.

3 голосов
/ 02 января 2014

Вы должны убедиться, что вы установили активное значение false в главном потоке:

dispatch_async(dispatch_get_main_queue(), ^{
    [self.searchDisplayController setActive:NO animated:YES];
});
2 голосов
/ 08 февраля 2015
func setActive(_ visible: Bool,
  animated animated;: Bool)

Если вы используете swift.

...