Cocoa中黑暗模式下的菜单文本颜色

时间:2014-12-23 23:19:16

标签: objective-c cocoa swift colors

NSColor有这种方法:

NSColor.selectedMenuItemTextColor()

但是没有正常(未选中)菜单项文本颜色的方法。如何确定菜单文本颜色(正常模式下为黑色,“暗”模式下为白色)?

我的菜单中有自定义视图,需要使用与其他菜单项相同的文本颜色。


编辑:我目前正在使用此功能,但我希望为textAttributes找到更清晰的解决方案:

let isDark = NSAppearance.currentAppearance().name.hasPrefix("NSAppearanceNameVibrantDark")
let textAttributes = [
  NSForegroundColorAttributeName: isDark ? NSColor.whiteColor() : NSColor.textColor()
]
let selectedItemTextAttributes = [
  NSForegroundColorAttributeName: NSColor.selectedMenuItemTextColor()
]

2 个答案:

答案 0 :(得分:1)

NSColor和selectedMenuItemColor的帮助链接到:请参阅颜色编程主题中的访问系统颜色。本章介绍如何在默认颜色选择器中打开Developer颜色。在那里,您还可以找到labelColor以及其他一些未在默认界面中列出的内容。也许其中一个就是你所追求的那个。

答案 1 :(得分:0)

答案是在viewDidAppear方法中将视图的图层颜色设置为ef。您还需要将观看次数e设置为NSColor.textColor()