UITableView从搜索单元格中删除复选标记

时间:2015-08-25 12:46:53

标签: objective-c

我使用if(!defined("CONSTANT")) die("Access denied"); 来显示一些项目,并且我已为此UITableView实施了UISearchBar

如果用户按下单元格,则会出现复选标记(单元格的附件类型已更改),再次按下时,复选标记附件将消失。

我的问题是,当用户使用搜索栏进行搜索时,不再检查所有已选中的单元格,根本不再检查单元格。

我一直试图解决这个问题并暂时搜索它但没有结果......

任何帮助??

谢谢你。

1 个答案:

答案 0 :(得分:3)

这是因为您在表格视图中放置了在搜索栏中输入内容后看到的复选标记和表格视图并不相同。要在搜索表视图单元格上使用相同的复选标记,您需要显式添加复选标记。

我无法看到您添加和删除复选标记的方式。因此,从理论上讲,您需要的是一种了解哪些细胞具有复选标记的方法。因此,假设您有一个项目数组和一个并行数组,如果项目具有复选标记,则表示1或0表示检查标记,1表示检查标记,0表示没有复选标记。

让我们调用这个并行数组checkMarkSignalArray。现在,在cellForRowAtIndexPath方法中,您可以执行类似的操作 -

if(self.resultSearchController.active){
    cell.textLabel.text = [self.filteredItemsArray objectAtIndex:indexPath.row];
    if([self.checkMarkSignalArray objectAtIndex:indexPath.row]){
        cell.accessoryType = UITableViewCellAccessoryCheckmark;
    }
}