UISearchBar скрыт в tableViewHeader - PullRequest
       16

UISearchBar скрыт в tableViewHeader

1 голос
/ 29 января 2010

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

В моем методе UITableViewController viewDidLoad размещено следующее:

UISearchBar *theSearchBar = [[UISearchBar alloc] init];
theSearchBar.delegate = self;
self.searchBar = theSearchBar;
[theSearchBar release];

self.tableView.tableHeaderView = self.searchBar;

В результате получаются следующие снимки экрана: http://imagebin.ca/view/6qNiwHR.html

Ответы [ 2 ]

5 голосов
/ 29 января 2010

Оказывается, это была проблема с размерами. Я нашел учебник , который помещает следующий код в настройку:

[theSearchBar sizeToFit];

, которые делают все идеально.

Поскольку UISearchDisplayController использует уже установленную UISearchBar, это не устраняет проблему.

0 голосов
/ 29 января 2010

Я думаю, что tableHeaderView - не лучшее место для размещения панели поиска. Я обычно использую UISearchDisplayController:

searchController = [[UISearchDisplayController alloc]
                     initWithSearchBar:theSearchBar contentsController:self];
searchController.delegate = self;
searchController.searchResultsDataSource = self;
searchController.searchResultsDelegate = self;

Это довольно просто и дает некоторые функции для поиска (вы должны реализовать их в делегате / источнике данных, в данном случае в вашем контроллере).

Обычно я делаю это с пера, но я думаю, что вам просто нужно назначить его вашему контроллеру представления:

self.searchDisplayController=searchController;

И если он не показывает представление, вы должны добавить представление непосредственно к tableView.

Вы можете посмотреть ссылку или спросить, есть ли у вас проблемы.

...