Как управлять searchResultsTableView UISearchDisplayController?

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

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

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

6
задан iBug 15 July 2014 в 04:05
поделиться

2 ответа

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

 - (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath 

2
ответ дан 16 December 2019 в 21:39
поделиться

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

-(void)searchDisplayController:(UISearchDisplayController *)controller didLoadSearchResultsTableView:(UITableView *)tableView {
   tableView.backgroundColor = self.tableView.backgroundColor;
   tableView.separatorColor = self.tableView.separatorColor;
       ...
6
ответ дан 16 December 2019 в 21:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: