NSOutlineView选定的文本颜色在Swift中不起作用
Swift 4,macOS 10.13 我有一个NSOutlineView选定的文本颜色在Swift中不起作用,nsoutlineview,nstablecellview,Nsoutlineview,Nstablecellview,Swift 4,macOS 10.13 我有一个NSOutlineView,我试图在用户单击每一行时自定义它的外观 我有一个用于单元格的基于视图的NSTableCellView子类。当我覆盖backgroundStyle时,图标更改工作正常。但是文本颜色有点奇怪 这里有一个视频演示: 这是我的密码: class MenuItemCell: NSTableCellView{ @IBOutlet weak var label: NSTextField! @IBOutlet weak var
NSOutlineView
,我试图在用户单击每一行时自定义它的外观
我有一个用于单元格的基于视图的NSTableCellView
子类。当我覆盖backgroundStyle
时,图标更改工作正常。但是文本颜色有点奇怪
这里有一个视频演示:
这是我的密码:
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 }
}
}
知道怎么了吗?我已经搜索了好几个小时,无法找到它。结果是,当脚本编辑器中的
NSOutlineView
高亮显示设置为源列表时,这将永远无法可靠地工作。这真的不可靠
一旦我把它改成常规的,它就工作得很好了
事实证明,如果在情节提要编辑器中将
NSOutlineView
高亮显示设置为源列表,此操作将永远无法可靠工作。这真的不可靠
一旦我把它改成常规的,它就工作得很好了
您在哪里将self.backgroundStyle设置为深色?下一次你要它的时候,你会用get返回super.backgroundStyle。你在哪里将self.backgroundStyle设置为深色?下一次你要它的时候,你会用get返回super.backgroundStyle。