【问题标题】:How to make a menubar app look good with "Dark Mode" in Yosemite?如何使用 Yosemite 中的“深色模式”使菜单栏应用程序看起来不错?
【发布时间】:2015-09-03 06:02:00
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

    I have a menubar app,我不需要做任何事情让它在黑暗主题中看起来不错。

    浅色主题:

    深色主题:

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

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

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

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

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

    【讨论】:

    • 这里还是碰壁了。您能否提供实际的示例代码?这很奇怪,因为我使用带有图像模板的按钮,无论我现在做什么,它在黑暗中看起来都不好。
    • 以上截图的UI中,基本没有代码。这些视图是在 IB 中建立的。但是,在 GitHub 上有一个骨架 Xcode 项目,请参阅我上面的编辑。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-11
      • 2012-07-21
      • 1970-01-01
      • 2019-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-25
      相关资源
      最近更新 更多