想象一个简单的表格视图,有几个单元格,启用单选,这意味着一旦我点击一个单元格,它就会保持选中状态,即使用默认控件时为蓝色。当我点击一个不同的单元格时,前一个单元格被取消选择,当前一个单元格将被选中。
现在,要使其完整(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 提供最简单最优雅的解决方案?