Swift NSTableView在表格失去焦点时高亮显示颜色
我正在项目中使用NSTableView。当用户点击一行时,我使用标准的蓝色选择颜色。当桌子失去焦点时,选择颜色变为浅灰色 我试图保持蓝色的选择颜色,即使桌子失去了焦点Swift NSTableView在表格失去焦点时高亮显示颜色,swift,macos,nstableview,nsoutlineview,Swift,Macos,Nstableview,Nsoutlineview,我正在项目中使用NSTableView。当用户点击一行时,我使用标准的蓝色选择颜色。当桌子失去焦点时,选择颜色变为浅灰色 我试图保持蓝色的选择颜色,即使桌子失去了焦点 我已经尝试覆盖NSTableCellView的backgroundStyle,我可以在选择或不选择单元格时设置自定义颜色,但在表格失去焦点时backgroundColor属性设置为.light。尝试覆盖NSTableRowView,例如,我保持灰色: class CustomRowView: NSTableRowView { o
我已经尝试覆盖NSTableCellView的backgroundStyle,我可以在选择或不选择单元格时设置自定义颜色,但在表格失去焦点时backgroundColor属性设置为.light。尝试覆盖
NSTableRowView
,例如,我保持灰色:
class CustomRowView: NSTableRowView {
override func drawSelectionInRect(dirtyRect: NSRect) {
NSColor.secondarySelectedControlColor().set()
NSRectFill(dirtyRect)
}
}
但是,强制NSTableView为用户自定义行有点棘手。。如果您使用NIB或故事板,请添加新的“假”行并设置自定义类。然后将标识符设置为“NSTableViewRowViewKey”。
以下是屏幕截图,它应该是什么样子:
这样,表视图(或大纲视图-没有区别)将使用自定义行视图。这是一个完美的答案。谢谢