如何控制UISearchDisplayController的searchResultsTableView?

时间:2010-02-03 15:35:19

标签: iphone uitableview customization uisearchdisplaycontroller

我想知道如何控制UISearchDisplayController使用的表格视图。您无法覆盖searchResultsTableView的{​​{1}}属性,因为它是只读属性。

我尝试用自定义UISearchDisplayController覆盖searchResultsTableView。这只能运行一次,但只要您尝试第二次搜索,真正的UITableView就会再次出现。 (我的意思是,您在searchResultsTableView中键入了一些文字,您的自定义表格视图位于顶部并显示搜索结果,之后您按下取消按钮。现在,如果您重复此操作,您的自定义表格将不会显示,并且UISearchDisplayController的searchBar将位于顶部。)

当然,您可以在没有searchResultTableView的情况下进行尝试,但我依靠此课程的优势,我只想自定义UISearchDisplayController

2 个答案:

答案 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