NSOutlineView选定的文本颜色的雨燕
问题描述:
斯威夫特4不工作,MACOS 10.13NSOutlineView选定的文本颜色的雨燕
我有一个NSOutlineView
和我想要当用户点击它来定制每一行的外观。
我有一个基于视图的NSTableCellView
子类,我正在使用该单元格。当我覆盖backgroundStyle
,图标更改完美。但文字颜色做了一些奇怪的事情。
这里有一个视频来演示:http://d.pr/v/suTD8B
这里是我的代码:
class MenuItemCell: NSTableCellView{
@IBOutlet weak var label: NSTextField!
@IBOutlet weak var icon: NSImageView!
//Customizes the selected state of menu row
override var backgroundStyle: NSView.BackgroundStyle {
set{
if let rowView = self.superview as? NSTableRowView {
super.backgroundStyle = rowView.isSelected ? .dark : .light
}
if self.backgroundStyle == .dark {
label.textColor = NSColor.white
icon.image = NSImage(named: NSImage.Name(rawValue: "menu-project-selected"))
}else{
label.textColor = NSColor.menuTextColor
icon.image = NSImage(named: NSImage.Name(rawValue: "menu-project"))
}
}
get{ return super.backgroundStyle }
}
}
任何想法有什么不对?我一直在寻找几个小时,但无法弄清楚。
你在哪里设置self.backgroundStyle暗?下一次你要求它,你返回super.backgroundStyle get。 – Dis3buted