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

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

现在,要完成它(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解决方案,我没有这个方法?


所有三种方法:

  • 的tableView:willSelectRowAtIndexPath:
  • 的cellForRowAtIndexPath:
  • deselectRowAtIndexPath:动画:
  • 根据文档在iOS 2.0和更高版本中可用。

    希望这可以帮助!

    链接地址: http://www.djcxy.com/p/60019.html

    上一篇: Deselect cell while single selection in iOS5?

    下一篇: How to unselect a uitableview cell when the user returns to the view controller