我在我的项目中使用 NSTableView。当用户点击一行时,我使用标准的蓝色选择颜色。当表格失去焦点时,选择颜色变为浅灰色。
我试图保持蓝色选择颜色,即使表格失去了焦点。
我已经尝试覆盖 NSTableCellView 的 backgroundStyle,我可以在选择或不选择单元格时设置自定义颜色,但是当表格失去焦点时,backgroundColor 属性设置为 .light。
最佳答案
尝试覆盖NSTableRowView
,例如我保持灰色:
class CustomRowView: NSTableRowView {
override func drawSelectionInRect(dirtyRect: NSRect) {
NSColor.secondarySelectedControlColor().set()
NSRectFill(dirtyRect)
}
}
然而,将 NSTableView 强制为用户自定义行有点棘手。如果您使用 Nib 或 Storyboard ,请添加新的“假”行并设置您的自定义类。然后将标识符设置为“NSTableViewRowViewKey”。 这是一个屏幕截图:
这样 TableView (或大纲 View - 没有区别)将使用您的自定义行 View 。
关于swift - 当表格失去焦点时,NSTableView 突出显示颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39794170/