2013-04-11 3 views
35

Как вызвать кнопку программной отмены в UISearchBar, например, если вы нажали кнопку отмены?Как активировать кнопку отмены в UISearchBar?

У меня есть UISearchBar в верхней части UITableView и после поиска, когда кто-то выбирает строку, я хочу запустить кнопку программной отмены в UISearchBar?

EDIT: Без взаимодействия с пользователем.

+0

У вас есть контроллер отображения поиска? –

+0

@MartinR, Да .. – Marckaraujo

ответ

54

Для контроллера просмотра с помощью контроллера поиска дисплея, вы можете установить

self.searchDisplayController.active = NO; 
// or: 
[self.searchDisplayController setActive:NO animated:YES]; 

отклонить интерфейс поиска.

+0

Aeew, спасибо! оно работает! Я просто не знаю, почему я получил голоса, спасибо за внимание. – Marckaraujo

+0

@Marckaraujo: Добро пожаловать. –

28

Вам необходимо ввести UISearchBarDelegate. После того, как вы сделали это, использование:

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar 

Сообщает делегат, который нажал на кнопку отмены.

Затем используйте:

[self searchBarCancelButtonClicked:yourSearchBar]; 
+0

Нет, мне нужно сделать это программно. без взаимодействия с пользователем. – Marckaraujo

+0

Я неправильно понял. См. Отредактированный ответ. – rog

+2

Хорошее предложение, rog. Я сделал это по-своему и отлично работает! – iWheelBuy

20

Для нового UISearchController (введен в 2014 году с прошивкой 8) вы можете позвонить:

[self.searchController setActive:FALSE]; 

или

self.searchController.active = FALSE; 

(Нет флаг для анимации, я нашел, что это всегда воодушевляет.)

+0

Я пробовал код выше. Кажется, что я работаю в демонстрации, которую я нашел, но, похоже, не работает в моем коде, у вас есть идея? в настоящее время используется self.searchDisplayController? .setActive (false, animated: true), чтобы отклонить контроллер поиска, но я боюсь, потому что его устаревший код. – vinbhai4u

+0

@ vinbhai4u сложно сказать с вашего маленького комментария. Вы должны представить новый вопрос, где вы объясняете вещи более подробно. – Nick

+0

Код выше работает отлично – wuf810

4

Что касается прошивкой 8 UISearchController используется для достижения отмены действия кнопки программно, Использование:

[self.searchController setActive:NO]; 
Смежные вопросы