在iOS中的UITableViewCell中,setHighlighted和setSelected有什么区别?

时间:2015-12-10 23:26:10

标签: ios objective-c uitableview tableviewcell

setHighlightedsetSelectedUITableViewCell之间的区别是什么?

如果我只是想在选择时不突出显示cell,我应该覆盖setHighlighter还是只需将selectionStyle设置为NONE

2 个答案:

答案 0 :(得分:10)

当手指向下移动时,

setHighlighted会使用突出显示的颜色(或发光,取决于您的设置)标记对象。在修饰时,突出显示消失,对象状态恢复正常。

另一方面,

setSelected虽然类似,但会在触地时设置,并将保持突出显示状态,直到下一次触地事件发生。

我认为你想要的是覆盖setHighlighted(只需返回方法内部,不要致电super),但更简单地说,你可以set the cell's UITableViewCellSelectionStyle to UITableViewCellSelectionStyleNone。< / p>

答案 1 :(得分:3)

要不让UITableView突出显示单元格,请在tableView委托方法- (BOOL)tableView:(UITableView *)tableView shouldHighlightRowAtIndexPath:(NSIndexPath *)indexPath中实现并返回NO。