0
我在我的项目中使用了NSTableView。当用户点击一行时,我使用标准的蓝色选择颜色。当表失去焦点时,选择颜色变为浅灰色。NSTableView当表失去焦点时突出显示颜色
我试图保持蓝色选择的颜色,即使表丢失焦点。
我已经尝试覆盖NSTableCellView的backgroundStyle,并且我可以在选中单元格时设置自定义颜色,但当表格丢失焦点时,backgroundColor属性设置为.light。
我在我的项目中使用了NSTableView。当用户点击一行时,我使用标准的蓝色选择颜色。当表失去焦点时,选择颜色变为浅灰色。NSTableView当表失去焦点时突出显示颜色
我试图保持蓝色选择的颜色,即使表丢失焦点。
我已经尝试覆盖NSTableCellView的backgroundStyle,并且我可以在选中单元格时设置自定义颜色,但当表格丢失焦点时,backgroundColor属性设置为.light。
尽量覆盖NSTableRowView
,比如我把灰色:
class CustomRowView: NSTableRowView {
override func drawSelectionInRect(dirtyRect: NSRect) {
NSColor.secondarySelectedControlColor().set()
NSRectFill(dirtyRect)
}
}
但是这是一个有点棘手,迫使NSTableView的用户自定义行。如果你用笔尖或故事板添加新的“假”行并设置你的自定义类。然后将标识符设置为“NSTableViewRowViewKey”。 这里是一个屏幕截图,应该如何看待:
这样表视图(或大纲视图 - 没有区别)会使用自定义列视图。
这是一个完美的答案。谢谢 – emreoktem