如何在Yosemite中使用"暗模式"使菜单栏应用程序看起来很好?

yll*_*ate 6 cocoa menubar rubymotion osx-yosemite osx-elcapitan

在开发菜单栏应用程序时,我很难找到使应用程序看起来很好的首选方法.我原本以为Apple控件基本上会在很大程度上处理这个问题,但看起来并非如此.

确保菜单栏应用程序在明暗模式下看起来都很好的首选方法是什么?我是否缺少一些可以更轻松地实现此功能的控制功能,还是需要手动检测模式并适当地修改控件?

zpa*_*ack 8

我有一个菜单栏应用程序,我没有做任何事情让它在黑暗的主题中看起来很好.

轻主题:

轻主题

黑暗主题:

黑暗的主题

您需要做的最重要的事情是:

  1. 使用系统的颜色(例如[NSColor textColor],[NSColor textBackgroundColor]这些自动与不同的主题相适应.见颜色和版式苹果的OS X人机界面指南的部分.

  2. 使用模板图像.这些也适应颜色变化.请参阅Apple OS X人机界面指南的系统提供的图像部分.

值得注意的是,Apple并没有简单地以编程方式检测正在运行的颜色主题(有一些技巧,但我不知道任何受制裁的方法).我的感觉是他们故意这样做,所以开发人员不做自定义的每主题的东西.使用系统颜色和模板图像,您不应该这样做.

更新: 示例项目:https://github.com/zpasternack/MenuBarTest