Какое событие вызывается, когда мы нажимаем UISearchBar

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

Что является лучшим подходом для достижения этой цели.

Например, когда мы нажимаем UISearchbar, «searchBarTextDidBeginEditing» запускается, «searchBarTextDidBeginEditing» снова получает вызов, и searchcontroller снова выдвигается и вызывает проблему. это поведение наблюдается только в 3.1.1

Спасибо,

Сагар

11
задан Sagar... 26 August 2010 в 05:44
поделиться

1 ответ

Я думаю, что вызывать [self ShowMySearch] в "searchBarTextDidBeginEditing" слишком поздно. Я полагаю, что «searchBarTextDidBeginEditing» вызывается в ответ на то, что панель поиска становится первым ответчиком. Поскольку это первый ответчик, когда контроллер поиска нажат, он, вероятно, снова станет первым ответчиком, когда ваш контроллер поиска выскочит... таким образом, снова вызывая "searchBarTextDidBeginEditing".

Для этого я бы использовал :

  • (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar

Этот метод вызывается после нажатия на панель поиска, но до того, как она станет первым респондентом. И если вы вернете НЕТ, он никогда не станет первым ответившим:

- (BOOL)searchBarShouldBeginEditing:(UISearchBar*)searchBar {
    [self ShowMySearch];
    return NO;
}

Дайте мне знать, если это сработает!

17
ответ дан 3 December 2019 в 06:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: