如何访问系统选择菜单项蓝色颜色?

29

我正在开发一个应用程序,在 NSStatusBar 上有一个自定义的 NSView,用户单击后该视图会执行所有绘制操作。但问题在于,我目前绘制的视图背景颜色与系统蓝色不同。

我的应用程序颜色:
enter image description here

Twitter 的菜单项颜色(系统):
enter image description here

显然可以看到,我的蓝色比系统颜色浅得多。这是我目前正在使用的代码(在 Yosemite 之前的版本中完美运行):

[[NSColor selectedMenuItemColor] set];
NSRectFill(rect);

我甚至尝试过取色菜单项的颜色,但似乎该颜色受到菜单栏下方壁纸的影响。
有什么想法实现系统外观吗?


你确定 Twitter 正在使用 selectedMenuItemColor 吗?也许他们在使用其他东西? - Eun
我只是展示了一个使用系统颜色作为选中菜单栏项目的例子,而 Twitter 使用与其他内置小部件相同的颜色,例如 Wi-Fi 和电池。我在旧版 OS X 上一直使用 selectedMenuItemColor,并且总是按预期工作,但在 Yosemite 上不行了。 - Pedro Vieira
2个回答

6

正如您所说,在Yosemite中,码头、状态栏等受到它们后面的任何东西的影响。尝试启用系统偏好设置 > 辅助功能 > 显示 > 减少透明度,您将看到没有此功能时您的颜色是什么样子的。


那似乎是个好主意,但不幸的是它不起作用。当我再次打开它时,颜色偏差很大。 - Pedro Vieira
我的意思是,把它关掉(减少透明度)。 - Pedro Vieira

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接