我有问题。我需要在搜索时选择一个tableview。
在正常模式下它没关系,但是当我搜索它时什么也没做。代码很简单
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
if(cell.accessoryType == 0){
cell.accessoryType = UITableViewCellAccessoryCheckmark;
} else {
cell.accessoryType = cell.accessoryType = UITableViewCellAccessoryNone;
}
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
对于选择模式,我使用:
-(void)searchBar:(UISearchBar*)searchBar textDidChange:(NSString*)text {
if(text.length == 0)
{
isFiltered = FALSE;
} else {
isFiltered = true;
}
}
答案 0 :(得分:0)
搜索显示控制器在显示搜索结果时会覆盖自己的表格视图。因此,在对表视图点击作出反应之前,您需要检查当前显示的表视图。
以下是您如何确定:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
if (tableView == self.tableView) {
// it's your "real" table view
} else {
// search results table view
}
}
GitHub上有一个演示项目,它在一个工作项目的上下文中显示:https://github.com/versluis/TableSearch2014