如何控制UISearchDisplayController的searchResultsTableView?

bur*_*rki 6 iphone customization uitableview uisearchdisplaycontroller

我想知道如何控制使用的表视图UISearchDisplayController.您不能覆盖该searchResultsTableView属性UISearchDisplayController,因为它是只读属性.

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

当然,你可以试试它没有UISearchDisplayController,但我依靠这个类的优点,我只想自定义tableView.

Fel*_*oux 6

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

-(void)searchDisplayController:(UISearchDisplayController *)controller didLoadSearchResultsTableView:(UITableView *)tableView {
   tableView.backgroundColor = self.tableView.backgroundColor;
   tableView.separatorColor = self.tableView.separatorColor;
       ...
Run Code Online (Sandbox Code Playgroud)

  • 谢谢Felix,我已经成功地试过了,但那不是我想做的.如果我可以设置自己的UITableView子类,我真的很喜欢.我不想只是操纵searchResultsTableView的属性. (2认同)

yon*_*nel 2

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

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
Run Code Online (Sandbox Code Playgroud)