Кнопка отмены на UISearchController иногда не работает

У меня проблема с UISearchController в iOS 8. Проблема в том, что всякий раз, когда я нажимаю кнопку отмены, вместо отмены операции поиска появляется клавиатура. Выполните следующие шаги, чтобы воспроизвести проблему -

  1. Щелкните по строке поиска.
  2. Введите слово и нажмите на поиск (это отключит клавиатуру)
  3. Теперь нажмите «Отменить».

Теперь вместо закрытия поиска выскакивает клавиатура для ввода текста. Обычно это происходит, когда я нажимаю на правую половину кнопки отмены, и это может быть воспроизведено даже в стандартных приложениях iOS, таких как приложение «Контакты». Я хотел бы закрыть поиск при нажатии кнопки "Отмена".

Есть ли способ решения этой проблемы?


person user2990765    schedule 07.05.2015    source источник
comment
Удивлен, что по этой проблеме очень мало или совсем не обсуждается, хотя проблема кажется очень простой и легко заметной в большинстве приложений.   -  person user2990765    schedule 12.05.2015


Ответы (1)


Вы можете удалить панель поиска в качестве первого респондента программно при нажатии кнопки отмены, что предотвратит появление клавиатуры.

[searchController.textField resignFirstResponder];
person Eric Dufresne    schedule 07.05.2015
comment
На самом деле я не получаю обратный вызов методу делегата -searchBarCancelButtonClicked при нажатии кнопки отмены. Он обрабатывает это так, как если бы я снова нажал на панель поиска. - person user2990765; 08.05.2015