在iOS5中单选时取消选择单元格?

时间:2013-09-05 16:36:45

标签: ios cocoa-touch uitableview

想象一个简单的表视图,只有几个单元格,启用单个选择,这意味着一旦我点击一个单元格,它就会保持选中状态,即使用默认控件时为蓝色。当我点击不同的单元格时,将取消选择前一个单元格,并选择当前的单元格。

现在,要完成它(Apple,Apple: - / ...)ie。为了能够取消选择当前选择的单元格,我们可以使用一段简单的代码

-(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath        *)indexPath
{
    UITableViewCell *touchedCell = [self.tableView cellForRowAtIndexPath:indexPath];

    if (touchedCell.isSelected == YES)
    {
        [self.tableView deselectRowAtIndexPath:indexPath animated:NO];
        return nil;
    }
    else
    {
        return indexPath;
    }
}

虽然有一个问题。此方法仅适用于iOS6 SDK。 你能不能用iOS5 SDK的最简单最优雅的解决方案,我没有这个方法?

1 个答案:

答案 0 :(得分:3)

所有三种方法:

  • 的tableView:willSelectRowAtIndexPath:
  • 的cellForRowAtIndexPath:
  • deselectRowAtIndexPath:动画:
根据文档,

在iOS 2.0及更高版本中可用。

希望这有帮助!