自定义searchResultsTableView

时间:2011-10-06 23:31:36

标签: ios

我希望UITableViewCells拥有自定义UISearchDisplayControllersearchResultsTableView是一个只读属性。我有searchviewcontroller的委托和数据源返回自定义单元格,但是,它似乎仍在使用searchResultsTableView单元格。使用我自己的UITableViewCells获得搜索结果的最佳方法是什么?

2 个答案:

答案 0 :(得分:10)

搜索开始时,会创建一个全新的UITableView。此新表视图将使用默认设置,与您的表视图不匹配。在你的UISearchDisplayDelegate中,覆盖searchDisplayControllerWillBeginSearch:以重新设置新的UITableView主题,如下所示:

- (void)searchDisplayControllerWillBeginSearch:(UISearchDisplayController *)controller {
    // Re-style the search controller's table view
    UITableView *tableView = controller.searchResultsTableView;
    tableView.backgroundColor = [UIColor blueColor];
    tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
}

答案 1 :(得分:0)

我不确定我是否完全理解这个问题,但是当你输入一个搜索或者你没有搜索时,你会想要返回两个不同的UITableViewCell类型(子类?) 。是对的吗?

就像John说的那样,根据你如何连接UISearchDisplayController,搜索结果表格视图和默认表格视图都会触发cellForRowAtIndexPathwillDisplayCellForRowAtIndexPath。在这些方法中,您可以检查哪个tableView要求单元格并根据需要进行自定义。我自定义了我的细胞的背景,文本和颜色,这种方法对我很有用。如果您愿意,我可以发布代码。