didDeselectRowAtIndexPath未被调用

yoa*_*vg1 3 uitableview nsindexpath multipleselection ios

我已经didDeselectRowAtIndexPathUITableView包含多个选择的方法中实现了该方法.

由于某种原因,didDeselectRowAtIndexPath代表没有调用.有什么建议?(我没有意外拼写错误didSelectRowAtIndexPath).

谢谢!

Ale*_*shy 10

有关细胞选择的一些注意事项:

  • didDeselectRowAtIndexPathUITableView如果用户单击与已选择的单元格不同的单元格,则仅在单选项中调用.
  • didSelectRowAtIndexPath调用以选择新行,并didDeselectRowAtIndexPath调用以取消选择上一行
  • UITableView具有多项选择的情况下,前一行未被取消选择,因此您的取消选择将被处理didSelectRowAtIndexPath

你可以使用你实现的委托方法获取单元格,并在检查它的选择后修改它,如下所示:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
    if (cell.selected) {
        // ... Uncheck
        [tableView deselectRowAtIndexPath:indexPath animated:YES];
    }
}
Run Code Online (Sandbox Code Playgroud)