Обнаружение касания при отсутствии отображаемых результатов поиска в UISearchDisplayController

У меня есть стандартный iOS UITableView с UISearchBar. Все работает нормально. Я реализовал метод, который скрывает панель поиска, когда пользователь нажимает кнопку «Отмена», реализовав метод делегата searchBarCancelButtonClicked:(UISearchBar *)searchBar. Все хорошо.

Но вот мой вопрос:

Когда пользователь нажимает кнопку поиска и ничего не ищет, метод делегата не вызывается, когда он / она нажимает на затемненное пространство, где не отображаются результаты поиска. Вы знаете, о каком пространстве я говорю? Тот, который либо отображает «нет результатов», либо результаты поиска. Когда текст не вводится в строку поиска, это затемненное пространство пусто - и реагирует на прикосновения пользователя (закрывая представление таблицы поиска).

Есть ли метод делегата, связанный с этим событием касания? Или есть обходной путь для обнаружения именно этого касания?

Вы можете изучить мой код на GitHub: https://github.com/versluis/Table-Seach-2013

Вот скриншот для иллюстрации:

введите описание изображения здесь


person Jay Versluis    schedule 05.11.2013    source источник


Ответы (1)


person    schedule
comment
Я уже пробовал это. Мой класс соответствует протоколу UISearchDisplayDelegate, но метод никогда не вызывается - даже когда поиск действительно заканчивается. - person Jay Versluis; 30.11.2013
comment
он действительно вызывается, убедитесь, что вы устанавливаете себя в качестве делегата, например self.searchController.delegate = self. Сделайте это на виду, появится или что-то в этом роде - person Live2Enjoy7; 04.12.2013