当 table 失去焦点时 NSTableView 突出显示颜色
NSTableView Highlight Colour when when table lose its focus
我在我的项目中使用 NSTableView。当用户点击一行时,我使用标准的蓝色选择颜色。当 table 失去焦点时,选择颜色变为浅灰色。
即使 table 失去焦点,我也试图保持蓝色选择颜色。
我已经尝试覆盖 NSTableCellView 的 backgroundStyle,我可以在选择或不选择单元格时设置自定义颜色,但是当 table 失去焦点时,backgroundColor 属性 设置为 .light .
尝试覆盖NSTableRowView
,例如我保持灰色:
class CustomRowView: NSTableRowView {
override func drawSelectionInRect(dirtyRect: NSRect) {
NSColor.secondarySelectedControlColor().set()
NSRectFill(dirtyRect)
}
}
然而,将 NSTableView 强制为用户自定义行有点棘手。如果您使用笔尖或故事板,请添加新的“假”行并设置您的自定义 class。然后将标识符设置为“NSTableViewRowViewKey”。
这是一个屏幕截图:
这样 table 视图(或大纲视图 - 没有区别)将使用您的自定义行视图。
我在我的项目中使用 NSTableView。当用户点击一行时,我使用标准的蓝色选择颜色。当 table 失去焦点时,选择颜色变为浅灰色。
即使 table 失去焦点,我也试图保持蓝色选择颜色。
我已经尝试覆盖 NSTableCellView 的 backgroundStyle,我可以在选择或不选择单元格时设置自定义颜色,但是当 table 失去焦点时,backgroundColor 属性 设置为 .light .
尝试覆盖NSTableRowView
,例如我保持灰色:
class CustomRowView: NSTableRowView {
override func drawSelectionInRect(dirtyRect: NSRect) {
NSColor.secondarySelectedControlColor().set()
NSRectFill(dirtyRect)
}
}
然而,将 NSTableView 强制为用户自定义行有点棘手。如果您使用笔尖或故事板,请添加新的“假”行并设置您的自定义 class。然后将标识符设置为“NSTableViewRowViewKey”。 这是一个屏幕截图:
这样 table 视图(或大纲视图 - 没有区别)将使用您的自定义行视图。