29

我正在开发一个具有自定义功能的应用程序,NSViewNSStatusBar用户单击它时,它会执行所有绘图。但是问题来了,我当前绘制的颜色作为视图的背景颜色与系统蓝色不同。

我的应用程序的颜色:
在此处输入图像描述

Twitter的菜单项颜色(系统):
在此处输入图像描述

正如您清楚地看到的那样,我的蓝色比系统浅得多。这是我目前正在使用的代码(并且在优胜美地之前的版本上完美运行):

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

我什至尝试过颜色选择菜单项的颜色,但似乎颜色受菜单栏下方墙纸的影响。
关于如何实现系统外观的任何想法?

4

2 回答 2

6

正如你所说,在优胜美地,码头、状态栏等都会受到它们背后的影响。尝试启用System Preferences > Accessibility > Display > Reduce Transparency,您将看到没有此功能时您的颜色是什么样的。/

于 2015-04-14T10:27:25.673 回答
2

这是一个想法-也许您应该使用Vibrancy效果并从NSVisualEffectView. 我知道我过去在这里的某个地方看到过一个非常相似的线程,我花了很长时间才找到它。这里是:

无法匹配包含自定义视图的 Yosemite NSMenuItem 的充满活力的背景

我认为Matthes 对该问题的回答将引导您解决您的问题。请务必检查一下。我希望它会有所帮助 - 祝你好运并报告!

于 2015-05-03T19:15:12.417 回答