突出显示tableViewCell

时间:2017-04-21 11:45:29

标签: ios swift uitableview swift3

我想在tableView中突出显示一些单元格。通过突出显示我的意思是将单元格的背景颜色设置为蓝色,例如在复制文本时使用。我用过这个代码检查它是否有效

public func tableView(_ tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
        cell.setHighlighted(true, animated: false)
    }

我也试过这个

cell.setSelected(true, animated: false)

在这两种情况下,细胞变成灰色而不是蓝色。有解决方案吗?

2 个答案:

答案 0 :(得分:4)

  

更改单元格的 selectionStyle 属性。如果您想将其更改为UITableViewCellSelectionStyleBlue,则蓝色。对于替代方法,您可以获得另一个SO answer

例如

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
cell.selectionStyle = .blue
}

UITableViewCell有三种默认选择样式: -

typedef NS_ENUM(NSInteger, UITableViewCellSelectionStyle) {
UITableViewCellSelectionStyleNone,
UITableViewCellSelectionStyleBlue,
UITableViewCellSelectionStyleGray,
UITableViewCellSelectionStyleDefault NS_ENUM_AVAILABLE_IOS(7_0)
};

或者您可以直接在您的单元格类中设置Selection color,如

enter image description here

答案 1 :(得分:0)

试试这个

 public func tableView(_ tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
        cell.selectionStyle = .blue
    }