滚动UITableView时如何阻止Cell突出显示

时间:2014-04-19 14:50:04

标签: ios objective-c uitableview

在我的UITableView中,当用户选择单元格时,我会使用此代码取消突出显示单元格:

...didSelectRowAtIndexPath...    
[cell setSelected:NO animated:YES];

...cellForRowAtIndexPath...
[cell setSelected:NO animated:YES];

但是,如果您然后滚动表格使得点击的单元格不在视图中,然后将其滚动回视图,它将突出显示。

滚动后如何阻止突出显示回来?

3 个答案:

答案 0 :(得分:2)

如果您想在开始滚动时取消选择它,可以使用UIScrollView的委托方法scrollViewDidScroll执行此操作:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    [self.tableView deselectRowAtIndexPath:self.tableView.indexPathForSelectedRow animated:YES];
}

答案 1 :(得分:1)

您可以通过表格视图取消选择...

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
}

答案 2 :(得分:0)

最简单的方法是选择UITableView,然后在“属性”检查器中,取消选中“在触摸时显示选择”框。这将阻止所有单元格上的任何突出显示。