如何使菜单应用看起来很好用" Dark Mode"在约塞米蒂?

时间:2015-06-17 19:52:27

标签: cocoa osx-yosemite menubar rubymotion osx-elcapitan

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

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

2 个答案:

答案 0 :(得分:8)

I have a menubar app,我没有做任何让它在黑暗主题中看起来很好的事情。

灯光主题:

Light theme

黑暗主题:

Dark theme

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

  1. 使用系统颜色(例如[NSColor textColor][NSColor textBackgroundColor]。这些颜色会自动适应各种主题。请参阅Apple的OS X人机界面指南的Color and Typography部分。

  2. 使用模板图片。这些也适应颜色变化。请参阅Apple的OS X人机界面指南的System-Provided Images section

  3. 值得注意的是,苹果公司还没有轻易地以编程方式检测正在运行的颜色主题(有一些技巧,但我不知道任何认可的方法)。我的感觉是他们故意这样做,所以开发人员不做自定义的每个主题的东西。使用系统颜色和模板图像,您不必使用。

    <强>更新 此处的示例项目:https://github.com/zpasternack/MenuBarTest

答案 1 :(得分:4)

嗯,你没有解释(或显示)它看起来很糟糕的方式。您可能正在使用普通的非模板图像作为其图标。您应该使用模板图像,这是一个图像,其唯一重要的部分是alpha蒙版。您可以通过使用&#34;模板&#34;来命名系统,告诉系统它是模板图像。后缀(例如&#34; FooTemplate.png&#34;)或在其上调用-setTemplate: