0

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

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

-(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 提供最简单最优雅的解决方案?

4

1 回答 1

3

所有三种方法:

  • 表视图:willSelectRowAtIndexPath:
  • cellForRowAtIndexPath:
  • 取消selectRowAtIndexPath:动画:

根据文档,在 iOS 2.0 及更高版本中可用。

希望这可以帮助!

于 2013-09-05T16:52:03.717 回答