У меня есть поиск кнопок, который находится в правой части навигации. Это мой код:Как показать и скрыть UISearchDisplayController's UISearchBar
UIButton *btnSearch = [UIButton buttonWithType:UIButtonTypeCustom];
btnSearch.frame = CGRectMake(0, 0, 22, 22);
[btnSearch setImage:[UIImage imageNamed:@"search_btn.png"] forState:UIControlStateNormal];
[btnSearch addTarget:self action:@selector(showSearch:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *searchItem = [[UIBarButtonItem alloc] initWithCustomView:_btnSearch];
self.navigationItem.rightBarButtonItems = searchItem ;
Это как это смотреть.
И я хочу, чтобы отобразить строку поиска после нажатия на кнопку поиска, и закрыть его после нажатия на отмените, а затем показать Панель навигации назад, но я не знаю, как его код.
- (IBAction)showSearch:(id)sender{
???
}
Это то, что я хочу.
Пожалуйста, помогите или укажите пример кода. Мне это действительно нужно.
Благодарим за чтение.
Спасибо так много. Сейчас это работа. Но ,,, как заставить его стать ответчиком, так что мне не нужно нажимать на поиск в текстовом поле. Я имею в виду, когда пользователь нажимает кнопку «Поиск» на панели навигации, а затем показывает mySearchbar с мигающим курсором внутри поиска в текстовом поле! Thank ^^ –
Вы должны сообщить системе, что хотите, чтобы ваша поисковая панель была первым ответчиком. Так что просто добавьте эту строку в код, где бы вы ни показывали свою панель поиска. В приведенном выше коде вы можете добавить его после блока if-else. (или добавить его внутри, если так же, как и блок else). '[mySearchBar getFirstResponder];' –
Кнопка отмены поиска работает хорошо. когда нажата кнопка отмены, она скроет панель поиска, а затем отобразит навигационную панель. Как выйти из строки поиска, не нажав кнопку отмены? Я имею в виду, даже если пользователь нажимает на сторону поиска текстового поля, например (список результатов). Thank –