在处理UITableView表格时,我们希望用户能够和触摸单元格式进行交互,但是希望用户在完成交互之后,这些单元格的选中状态能够消失,。Cocoa
Touch 提供了两种方法来防止单元格背持久选中。
1.cell.selectionStyle = UITableViewCellSelectionStyleNone;该方法缺点是虽然cell可以被用户选中后,但不会被突出显示。
2.第二种方法允许单元格高亮显示,但是交互完成之后移除高亮显示。这需要通知表格取消单元格选中状态。 代码如下:
-(void)unselectCell:(id)sender{
[self.tableView deselectRowAtIndexPath:[self.tableView indexPathForSelectedRow] animated:YES];
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
//跳转等其他操作
[self performSelector:@selector(unselectCell:) withObject:nil afterDelay:0.5];
}
1.cell.selectionStyle = UITableViewCellSelectionStyleNone;该方法缺点是虽然cell可以被用户选中后,但不会被突出显示。
2.第二种方法允许单元格高亮显示,但是交互完成之后移除高亮显示。这需要通知表格取消单元格选中状态。 代码如下:
-(void)unselectCell:(id)sender{
[self.tableView deselectRowAtIndexPath:[self.tableView indexPathForSelectedRow] animated:YES];
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
//跳转等其他操作
[self performSelector:@selector(unselectCell:) withObject:nil afterDelay:0.5];
}
取消UITableView选中状态的方法
在iOS开发中,为了实现UITableView单元格在用户交互后不再保持选中状态,可以使用两种策略。一种是设置cell.selectionStyle为UITableViewCellSelectionStyleNone,但这样单元格将无法高亮;另一种是通过在选择单元格后延迟调用deselectRowAtIndexPath方法,取消选中状态,代码示例给出了解决方案。
1万+

被折叠的 条评论
为什么被折叠?



