6

我想知道如何控制UISearchDisplayController. 您不能覆盖 的searchResultsTableView属性UISearchDisplayController,因为它是只读属性。

我试图searchResultsTableView通过自定义覆盖UITableView. 这只有效一次,但一旦你尝试第二次搜索,真实searchResultsTableView的就会再次出现。(我的意思是,您在 中输入一些文本searchBar,您的自定义表格视图位于顶部并显示搜索结果,然后按取消按钮。现在,如果您重复此操作,您的自定义表格将不会显示,searchResultTableView并且UISearchDisplayController 将在顶部)。

当然,不带也可以试试UISearchDisplayController,不过我指望这个类的优势,我只是想自定义tableView.

4

2 回答 2

6

您无法设置 searchResultsTableView,但可以在适当的委托方法中对其进行操作:

-(void)searchDisplayController:(UISearchDisplayController *)controller didLoadSearchResultsTableView:(UITableView *)tableView {
   tableView.backgroundColor = self.tableView.backgroundColor;
   tableView.separatorColor = self.tableView.separatorColor;
       ...
于 2010-02-03T15:55:49.610 回答
2

您在TableViewDataSource上有一个属性UISearchDisplayController,此数据源生成UITableViewCell. 实现该UITableViewDataSource协议,您将可以在方法中控制 tableView 的自定义:

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

于 2010-07-01T12:32:02.627 回答