UITableView Grouped - 选择多行

时间:2011-08-11 10:36:37

标签: iphone uitableview

我有一个分组的UITableView,想要选择一些行。 我找到了一些方便的代码,我发现它可以选择多行,但是对于一个未分组的视图。

--->

当我选择一行时,它会选择每一部分的这一行。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];

if (cell.accessoryType == UITableViewCellAccessoryCheckmark) {
    cell.accessoryType = UITableViewCellAccessoryNone;
} else {
    cell.accessoryType = UITableViewCellAccessoryCheckmark;
}}

有任何帮助吗?提前谢谢!

2 个答案:

答案 0 :(得分:2)

看看 - iPhone: How to allow multiple selection in tabelview for a custom cell?。如果您只是像在代码中那样设置附件类型,则在单元格被回收时(滚动表格时)将不会保留附件。相反,你应该做类似以下的事情 -

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    //... your existing code ...
    if(self.selectedIndexPaths && [self.selectedIndexPaths containsObject:indexPath]) //selectedIndexPaths is explained in the link above
       cell.accessoryType = UITableViewCellAccessoryCheckmark;
    else
       cell.accessoryType = UITableViewCellAccessoryCheckmark;

    //... your existing code ...
    return cell;
}

这样,您可以维护选择的单元格。

HTH,

阿克沙伊

答案 1 :(得分:0)

我认为您已经在视图中使用了多个表格,例如

if(tableView = firstTbl){


}
if(tableView = secondTbl){


}