美文网首页
如何更改 NSTableView 选中时的文字颜色

如何更改 NSTableView 选中时的文字颜色

作者: _我和你一样 | 来源:发表于2019-07-06 17:18 被阅读0次

继承自NSTableCellView,重写backgroundStyle方法,此方法在 cell 选中状态改变时会出发,在将要赋值的方法里,判断当前 cell 所在的行的选中状态,如果当前行被选中了,则更改 cell 文本的颜色,如果没有选中,则重置为默认颜色。

注意:事实证明,在 didSet 改变颜色会有延迟,因此在 willSet 中设置效果要好很多。

class CSTableCellView: NSTableCellView {
    override var backgroundStyle: NSView.BackgroundStyle {
        
        willSet {
            if let row = self.superview as? NSTableRowView{
                if row.isSelected {
                    self.textField?.textColor = NSColor(red: 0.20, green: 0.85, blue: 0.99, alpha: 1.00)
                }else {
                    self.textField?.textColor = NSColor.white
                }
            }
        }
}
}

相关文章

网友评论

      本文标题:如何更改 NSTableView 选中时的文字颜色

      本文链接:https://www.haomeiwen.com/subject/tkqmhctx.html