我想知道如何控制UISearchDisplayController
使用的表格视图。您无法覆盖searchResultsTableView
的{{1}}属性,因为它是只读属性。
我尝试用自定义UISearchDisplayController
覆盖searchResultsTableView
。这只能运行一次,但只要您尝试第二次搜索,真正的UITableView
就会再次出现。 (我的意思是,您在searchResultsTableView
中键入了一些文字,您的自定义表格视图位于顶部并显示搜索结果,之后您按下取消按钮。现在,如果您重复此操作,您的自定义表格将不会显示,并且UISearchDisplayController的searchBar
将位于顶部。)
当然,您可以在没有searchResultTableView
的情况下进行尝试,但我依靠此课程的优势,我只想自定义UISearchDisplayController
。
答案 0 :(得分:6)
您无法设置searchResultsTableView,但您可以在适当的委托方法中对其进行操作:
-(void)searchDisplayController:(UISearchDisplayController *)controller didLoadSearchResultsTableView:(UITableView *)tableView {
tableView.backgroundColor = self.tableView.backgroundColor;
tableView.separatorColor = self.tableView.separatorColor;
...
答案 1 :(得分:2)
TableViewDataSource
上有UISearchDisplayController
属性,此数据源生成UITableViewCell
。实现UITableViewDataSource
协议,您将可以控制方法中tableView的自定义:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath