Остановка 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;
}
Другие вопросы по тегам