开发者

custom searchResultsTableView

开发者 https://www.devze.com 2023-04-11 13:43 出处:网络
I am looking to have custom UITableViewCells for my UISearchDisplayController. The searchResultsTableView is a readonly property. I have the delegate and datasource for the searchviewcontroller return

I am looking to have custom UITableViewCells for my UISearchDisplayController. The searchResultsTableView is a readonly property. I have the delegate and datasource for the searchviewcontroller returning the custom cells, however, it see开发者_如何学Cms to still be using the searchResultsTableView cells. What's the best way to have the search results using my own UITableViewCells?


When a search begins, a whole new UITableView is created. This new table view will use default settings and won't match your table view. In your UISearchDisplayDelegate, override searchDisplayControllerWillBeginSearch: in order to re-theme the new UITableView, like this:

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


I'm not sure I fully understand the question, but it sounds like you want two different UITableViewCell types (subclasses?) to be returned when you're typing a search, or when you're not searching. Is that right?

Like John said, and depending on how you hooked up the UISearchDisplayController, both the search results table view and your default table view will fire cellForRowAtIndexPath and willDisplayCellForRowAtIndexPath. In those methods you can check which tableView is asking for the cell and customize it as necessary. I customize the background, text and color of my cells and this approach works well for me. I can post code if you'd like.

0

精彩评论

暂无评论...
验证码 换一张
取 消