Поиск с помощью UISearchBar в UITableView, например, в приложении iPod - PullRequest
0 голосов
/ 29 ноября 2009

Я работаю над созданием панели поиска над UITableView, как в приложении iPod или Mail. В приложении iPod, когда вы начинаете печатать в строке поиска, навигационный контроллер исчезает, а UISearchBar переходит наверх. Анимация не так уж и плоха для создания, но я хочу убедиться, что она работает точно так же, как и другие панели поиска в приложениях Apple. Пока у меня есть две проблемы:

  1. Когда я нажимаю кнопку «Поиск» на клавиатуре или прокручиваю таблицу, клавиатура закрывается, говоря: [searchbar resignFirstResponder];
    Это работает, за исключением того, что кнопка отмены на панели поиска отключена. Как сохранить кнопку отмены панели поиска от самоотключения после того, как панель поиска отказалась от первого респондента?

  2. После того, как панель поиска потеряла фокус, пользователь может свободно перемещаться в UITableView. Прямо сейчас панель поиска добавлена ​​как tableHeaderView UITableView. Это означает, что когда прокручивается табличное представление, панель поиска прокручивается прямо с экрана. Есть ли способ сделать так, чтобы панель поиска оставалась в верхней части UITableView и не прокручивалась? Мне не удалось найти какое-либо свойство в UITableView, которое позволило бы tableHeaderView зависать сверху.

Любая помощь будет принята с благодарностью. Спасибо!

Ответы [ 2 ]

4 голосов
/ 29 ноября 2009

Посмотрите пример приложения SimpleSearchDisplay, которое поставляется с документацией. Это именно то, что вы ищете. По сути, вам даже не нужно делать явные анимации даже. UISearchDisplayController обрабатывает это для вас.

Вот местоположение для вас.

/Developer/Platforms/iPhoneOS.platform/Developer/Documentation/DocSets/com.apple.adc.documentation.AppleiPhone3_0.iPhoneLibrary.docset/Contents/Resources/Documents/samplecode/SimpleSearchDisplay/
3 голосов
/ 15 января 2010

В SDK 3.1, SimpleSearchDisplay, похоже, был заменен TableSearch:

http://developer.apple.com/iphone/library/samplecode/TableSearch/index.html

или локально:

Файл: ///Developer/Platforms/iPhoneOS.platform/Developer/Documentation/DocSets/com.apple.adc.documentation.AppleiPhone3_1.iPhoneLibrary.docset/Contents/Resources/Documents/samplecode/TableSearch/index.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...