Подтвердить что ты не робот

Как вы уволите UISearchController? (iOS 8 и далее)

Это должно быть тривиально, но я не могу найти, как вы должны программно игнорировать UISearchController?

Обратите внимание, что это новый UISearchController (введенный в 2014 году с iOS 8), а не UISearchDisplayController.

Пока что у меня есть

// Dismiss the search tableview
searchController.dismissViewControllerAnimated()
// Clear the Search bar text
searchController.active = false

Но у меня все еще есть кнопка отмены и не могу избавиться от нее.

4b9b3361

Ответ 1

ОК, так что после более тщательного тестирования, вы просто должны установить:

searchController.active = false

Это первое, что я пробовал, но я назвал его в одном из методов UISearchControllerDelegate, который не работал (вероятно, должен был вызвать его с dispatch_async (ответ halbano, похоже, подтверждает это)).

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

Ответ 2

У вас возникла эта проблема, когда вы пытаетесь отклонить контроллер поиска после перехода на другой режим? Я тоже столкнулся с этой проблемой. Я думаю, вы можете использовать

self.definesPresentationContext = true 

в контроллере представления, который представляет UISearchController в соответствии с этим сообщением UISearchController, который не отклоняется при нажатии кнопки "Просмотр" . Это работает для меня.

Ответ 3

Я представлял рудник на панели навигации. Код, который работает для меня, был:

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar{
    dispatch_async(dispatch_get_main_queue(), ^{
        [self.searchController setActive:NO];
        self.navigationController.navigationBar.topItem.title = @"MYTITLE".uppercaseString;
        self.navigationItem.titleView = nil;
    });
}

Надеюсь, что это поможет кому-то.

Ответ 4

У меня была эта проблема с помощью search andactionController, решена после включения строки:   self.dismissViewControllerAnimated(false, завершение: ноль)

Откройте взаимодействие и очистите поиск без изменений в делегате.