Остановка UISearchDisplayController для закрытия клавиатуры панели поиска
У меня есть UISearchBar, который я помещаю в UISearchDisplayController. Теперь, когда я нажимаю кнопку "Поиск" на клавиатуре, клавиатура закрывается. Я реализую описанный ниже метод, чтобы прекратить поиск всякий раз, когда нажимается кнопка "Поиск", и в этом случае я также не хочу терять клавиатуру. Есть ли способ дать UISearchDisplayController команду не отпускать клавиатуру при нажатии на кнопку "Поиск"?
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar1 {
if ([searchBar.text length] < 3){
return;
}
else {
// Do searching here or other stuffs
}
}
1 ответ
Решение
// Этот метод возвращает NO, чтобы не уйти в отставку первым респондентом
- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar;
Таким образом, в вашем коде должно быть что-то вроде этого, чтобы клавиатура не игнорировала только нажатие кнопки поиска, а отклоняла при отмене и т. Д.
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar1 {
isSearchTap = YES;
}
- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar {
if(isSearchTap) {
return NO;
}
return YES;
}