Интересно, как взять на себя управление над табличным представлением, которое используется UISearchDisplayController
. Вы не можете перезаписать searchResultsTableView
свойство UISearchDisplayController
, потому что это - свойство только для чтения.
Я попытался наложить searchResultsTableView
пользовательским UITableView
. Это работает только однажды, но как только Вы пробуете второй поиск, реальное searchResultsTableView
находится на вершине снова. (Я имею в виду, Вы вводите в некотором тексте в searchBar
, Ваше пользовательское табличное представление находится на вершине и отображает результаты поиска, впоследствии Вы нажимаете кнопку отмены. Теперь при повторении этого пользовательская таблица не будет отображена и searchResultTableView
из UISearchDisplayController wil быть на вершине).
Конечно, можно попробовать его без a UISearchDisplayController
, но я рассчитываю на преимущества этого класса, я просто хочу настроить tableView
.
У вас есть свойство TableViewDataSource
в UISearchDisplayController
, этот источник данных создает UITableViewCell
. Реализуйте протокол UITableViewDataSource
, и вы получите контроль над настройкой tableView в методе:
- (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath
Вы не можете установить searchResultsTableView, но можете управлять им с помощью соответствующего метода делегата:
-(void)searchDisplayController:(UISearchDisplayController *)controller didLoadSearchResultsTableView:(UITableView *)tableView {
tableView.backgroundColor = self.tableView.backgroundColor;
tableView.separatorColor = self.tableView.separatorColor;
...