UISearchBar в верхней части UITableView, который может скрывать, но оставаться рядом с UINavigationBar - PullRequest
13 голосов
/ 10 февраля 2011

Я бы хотел, чтобы UISearchBar был в верхней части моего UITableView, который скрывает , когда вы прокручиваете вниз: ответ прост, мне просто нужно добавить его в заголовок моего табличного представления следующим образом:*

UISearchBar *search = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 320, 45)];
self.tableView.tableHeaderView = search;
[search release];

Но проблема в том, что при прокрутке вверх UISearchBar подходит к вершине UITableView, а не к вершине UINavigationBar.Чтобы быть более понятным, я сделал экран в Mail (не хорошо) и Game Center (хорошо).

enter image description here

Я хочу такой же, как в Game Center.Ты хоть представляешь, как они это делают?

Ответы [ 4 ]

4 голосов
/ 10 февраля 2011

При прокрутке таблицы вам нужно будет самостоятельно скрыть панель поиска.Так что не помещайте это как заголовок UITableView.Вы можете скрыть это, установив его высоту на ноль.Таким образом, если ваше табличное представление настроено на автоматическое изменение размера, оно будет расширяться.

Я бы поэкспериментировал с UITableView и UISearchBar в качестве одноранговых узлов в другом представлении.Изображение GameCenter не имеет панели поиска в качестве заголовка табличного представления, скорее оно имеет их как отдельные подпредставления.

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

Редактировать: Этот вопрос в основном ваш вопрос и содержит код в ответах.

1 голос
/ 10 февраля 2011

Заголовок таблицы будет перемещаться при прокрутке вниз.Это свойство таблицы.Если вы хотите разместить панель поиска с панелью навигации.Почему бы вам не разместить панель поиска чуть ниже панели навигации.Используйте панель поиска и отдельный вид таблицы.

0 голосов
/ 01 января 2014

Это ответит на ваш вопрос:

iPhone: по умолчанию скрыть панель поиска UITableView

та же концепция, другой контроллер.

Удачи.

0 голосов
/ 10 февраля 2011

Правый UISearchBar находится на другом UIView, он не является частью UITableView. Таким образом, вы можете добавить дочернее представление для размещения UISearchBar, а другое дочернее представление для UITableView.

...