1
斯威夫特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