我有一个带有搜索显示控制器的主表视图。我正在使用自定义cell.h实现
- (void)setSelected:(BOOL)选中动画:(BOOL)动画
当我从主表中选择单元格时,上面的代码会更改此选定单元格的背景颜色。当我选择从搜索栏搜索时,搜索显示控制器使用
以正确的背景颜色显示所选单元格
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
但是,在搜索显示控制器上显示的此单元格不会响应didSelectRowAtIndexPath
和didDeselectRowAtIndexPath
。另一方面,其他细胞对这两种方法都有反应。
我想要实现的是主表和搜索显示控制器上的搜索表视图之间的同步,其中所选单元格应在主表和搜索表视图中显示,但允许选择和取消选择。
请指教。非常感谢。
答案 0 :(得分:0)
我找到了问题的答案:
使用
- (void)searchDisplayController:(UISearchDisplayController *)controller willShowSearchResultsTableView:(UITableView *)tableView
和
[tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:[searchResult indexOfObject:currentFriend] inSection:0] animated:NO scrollPosition:0];
而不是
(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
希望它有所帮助!