如何在表格视图单元格中设置色调/高亮颜色?

时间:2016-03-01 02:50:07

标签: ios uitableview

在我的表视图中,我有一个这样的单元格:enter image description here

当它被选中并且橙色矩形变为灰色时。但我希望它保持橙色。我设置了色彩但似乎没有任何区别。所以请帮助我。 enter image description here

2 个答案:

答案 0 :(得分:1)

当选择UITableViewCell时,操作系统会浏览视图层次结构并将所有子视图的backgroundColor更改为.clearColor(),以便它可以正确显示背景视图。< / p>

您可以创建一个抵制此更改的自定义UIView。像这样:

class NeverClearView: UIView {

    override var backgroundColor: UIColor? {
        get {
            return super.backgroundColor
        }
        set {
            if newValue != .clearColor() {
                super.backgroundColor = newValue
            }
        }
    }

}

答案 1 :(得分:1)

您可以使用accessibilityLabel来解决问题 1.首先将橙色视图的backgroundcolortintcolor设置为您想要的颜色,就像您已经完成的那样。

2.启用橙色视图accessibility,并设置它的accessibilityLabel属性。
enter image description here

3.在tableView的委托中,添加以下方法:

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    let cell = tableView.cellForRowAtIndexPath(indexPath)!
    for var view in  cell.contentView.subviews{
        if view.accessibilityLabel == "colorView"{
           view.backgroundColor = view.tintColor;
        }
    }
}   

4.it会像这样工作: enter image description here