在开发菜单栏应用程序时,我很难找到使应用程序真正看起来不错的首选方法。我原以为 Apple 控件基本上会在很大程度上处理这个问题,但似乎没有。
确保菜单栏应用在明暗模式下看起来都不错的首选方法是什么?我是否缺少一些更容易实现这一点的控制功能,或者我是否需要手动检测模式并适当地修改控制?
在开发菜单栏应用程序时,我很难找到使应用程序真正看起来不错的首选方法。我原以为 Apple 控件基本上会在很大程度上处理这个问题,但似乎没有。
确保菜单栏应用在明暗模式下看起来都不错的首选方法是什么?我是否缺少一些更容易实现这一点的控制功能,或者我是否需要手动检测模式并适当地修改控制?
我有一个菜单栏应用程序,我不需要做任何事情来让它在黑暗主题中看起来不错。
轻主题:
黑暗主题:
您需要做的最重要的事情是:
使用系统颜色(例如 、[NSColor textColor]
。[NSColor textBackgroundColor]
这些颜色会自动适应各种主题。请参阅 Apple 的 OS X 人机界面指南的颜色和排版部分。
使用模板图像。这些也适应颜色变化。请参阅 Apple 的 OS X 人机界面指南的系统提供的图像部分。
值得注意的是,Apple 并没有让以编程方式检测正在运行的颜色主题变得容易(有一些技巧,但我不知道有任何认可的方法)。我的感觉是他们是故意这样做的,因此开发人员不会根据主题进行自定义。不必使用系统颜色和模板图像。
更新: 此处的示例项目:https ://github.com/zpasternack/MenuBarTest
好吧,您还没有解释(或显示)它看起来很糟糕的方式。可能,您正在为其图标使用普通的非模板图像。您应该使用模板图像,该图像的唯一重要部分是 alpha 蒙版。您可以通过使用“模板”后缀(例如“FooTemplate.png”)或调用-setTemplate:
它来告诉系统它是模板图像。