OS X 上的 Dock 和菜单栏是否有预定义的 NSColor?

Is there predefined NSColor for the Dock and Menubar on OS X?

有一些 NSColor 初始化助手,例如 controlColor() return 各种颜色的系统组件。码头和菜单栏有这样的东西吗?我看不到弹出的名字。如果没有这个helper,有没有别的办法获取颜色?

我想将其用作我正在开发的实用程序的默认 NSWindow 背景色,该应用程序将以小的无边框 NSWindow.

显示

它们都由下图所示 'System Preferences' 中的 'General' 面板控制。

提前致谢。

不,菜单栏和 Dock 背景外观不是 NSColor 系统颜色。不过,它们看起来确实很像您可以从 NSVisualEffectView 获得的 Dark Vibrant 和 Light Vibrant 风格。

如果您想更改视图的外观以匹配 "Use dark menu bar and Dock" 首选项的状态...好吧,没有 API,但是您可以从它的存储位置读取该首选项. (因为它不是 API,注意买者:不能保证偏好存储在以后的 OS X 版本中不会改变。)

在 Swift 中(为了清楚起见分为几行):

let defaults = NSUserDefaults.standardUserDefaults()
let globalPrefs = defaults.persistentDomainForName(NSGlobalDomain)!
let interfaceStyle = globalPrefs["AppleInterfaceStyle"]
if interfaceStyle as! String == "Dark" {
    // time to be all emo
}