2016-09-30 208 views
0

我在我的项目中使用了NSTableView。当用户点击一行时,我使用标准的蓝色选择颜色。当表失去焦点时,选择颜色变为浅灰色。NSTableView当表失去焦点时突出显示颜色

我试图保持蓝色选择的颜色,即使表丢失焦点。

我已经尝试覆盖NSTableCellView的backgroundStyle,并且我可以在选中单元格时设置自定义颜色,但当表格丢失焦点时,backgroundColor属性设置为.light。

回答

0

尽量覆盖NSTableRowView,比如我把灰色:

class CustomRowView: NSTableRowView { 

override func drawSelectionInRect(dirtyRect: NSRect) { 
    NSColor.secondarySelectedControlColor().set() 
    NSRectFill(dirtyRect) 
} 
} 

但是这是一个有点棘手,迫使NSTableView的用户自定义行。如果你用笔尖或故事板添加新的“假”行并设置你的自定义类。然后将标识符设置为“NSTableViewRowViewKey”。 这里是一个屏幕截图,应该如何看待:

enter image description here

这样表视图(或大纲视图 - 没有区别)会使用自定义列视图。

+0

这是一个完美的答案。谢谢 – emreoktem

相关问题