Как управлять searchResultsTableView UISearchDisplayController? - PullRequest
6 голосов
/ 03 февраля 2010

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

Я пытался наложить searchResultsTableView на пользовательский UITableView. Это работает только один раз, но как только вы попробуете второй поиск, реальная searchResultsTableView снова окажется на вершине. (Я имею в виду, вы вводите какой-то текст в searchBar, ваш пользовательский вид таблицы находится сверху и отображает результаты поиска, после чего вы нажимаете кнопку отмены. Теперь, если вы повторите это, ваша пользовательская таблица не будет отображаться и searchResultTableView UISearchDisplayController будет на вершине).

Конечно, вы можете попробовать это без UISearchDisplayController, но я рассчитываю на преимущества этого класса, я просто хочу настроить tableView.

Ответы [ 2 ]

6 голосов
/ 03 февраля 2010

Вы не можете установить searchResultsTableView, но вы можете управлять им в соответствующем методе делегата:

-(void)searchDisplayController:(UISearchDisplayController *)controller didLoadSearchResultsTableView:(UITableView *)tableView {
   tableView.backgroundColor = self.tableView.backgroundColor;
   tableView.separatorColor = self.tableView.separatorColor;
       ...
2 голосов
/ 01 июля 2010

У вас есть свойство TableViewDataSource на UISearchDisplayController, этот источник данных создает UITableViewCell. Реализуйте протокол UITableViewDataSource, и вы получите контроль над настройкой tableView в методе: - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

...