Можем ли мы изменить следующий ответ? - PullRequest
1 голос
/ 19 июля 2011

Я получил кучу окна поиска. Под окном поиска есть таблицы.

Если пользователь щелкает представление таблицы (или что-либо вне поля поиска), я хочу, чтобы окно поиска потеряло статус первого респондента.

Тем не менее, просмотр таблицы не имеет действия по подкраске.

Итак, я добавляю большую кнопку за столом. В надежде, что событие касания будет обработано большой кнопкой.

Учитывая, что табличное представление полностью покрывает табличное представление, это не работает.

Так что мне делать?

1 Ответ

1 голос
/ 03 августа 2011

Я не уверен, используете ли вы searchDisplayController или просто searchBar. но если вы используете searchDisplayController, вы можете реализовать метод делегата

-(void)searchDisplayControllerWillEndSearch:(UISearchDisplayController *)controller

, который будет вызываться, когда пользователь нажимает кнопку отмены или прозрачного просмотра (пустой поиск).

Другой способ обойти ваше дело - установить bool, чтобы проверить, удерживает ли окно поиска ответчик или нет (установите его, когда поисковый запрос получает ответчик). И в cellForRowAtIndexPath, проверьте это значение, и resignFirstResponder и установите значение false.

Надеюсь, что эта помощь

Обновление : пример кода Apple с использованием searchDisplayController

...