6

在开发菜单栏应用程序时,我很难找到使应用程序真正看起来不错的首选方法。我原以为 Apple 控件基本上会在很大程度上处理这个问题,但似乎没有。

确保菜单栏应用在明暗模式下看起来都不错的首选方法是什么?我是否缺少一些更容易实现这一点的控制功能,或者我是否需要手动检测模式并适当地修改控制?

4

2 回答 2

8

我有一个菜单栏应用程序,我不需要做任何事情来让它在黑暗主题中看起来不错。

轻主题:

轻主题

黑暗主题:

深色主题

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

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

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

值得注意的是,Apple 并没有让以编程方式检测正在运行的颜色主题变得容易(有一些技巧,但我不知道有任何认可的方法)。我的感觉是他们是故意这样做的,因此开发人员不会根据主题进行自定义。不必使用系统颜色和模板图像。

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

于 2015-06-18T07:19:10.750 回答
4

好吧,您还没有解释(或显示)它看起来很糟糕的方式。可能,您正在为其图标使用普通的非模板图像。您应该使用模板图像,该图像的唯一重要部分是 alpha 蒙版。您可以通过使用“模板”后缀(例如“FooTemplate.png”)或调用-setTemplate:它来告诉系统它是模板图像。

于 2015-06-17T20:33:45.220 回答