在开发菜单栏应用程序时,我很难找到使应用程序看起来很好的首选方法。我原本以为Apple控件基本上会处理这个问题,但看起来并非如此。
确保菜单栏应用程序在明暗模式下看起来都很好的首选方法是什么?我是否缺少一些可以更轻松地实现此功能的控制功能,还是需要手动检测模式并适当地修改控件?
答案 0 :(得分:8)
I have a menubar app,我没有做任何让它在黑暗主题中看起来很好的事情。
灯光主题:
黑暗主题:
您需要做的最重要的事情是:
使用系统颜色(例如[NSColor textColor]
,[NSColor textBackgroundColor]
。这些颜色会自动适应各种主题。请参阅Apple的OS X人机界面指南的Color and Typography部分。
使用模板图片。这些也适应颜色变化。请参阅Apple的OS X人机界面指南的System-Provided Images section。
值得注意的是,苹果公司还没有轻易地以编程方式检测正在运行的颜色主题(有一些技巧,但我不知道任何认可的方法)。我的感觉是他们故意这样做,所以开发人员不做自定义的每个主题的东西。使用系统颜色和模板图像,您不必使用。
<强>更新强> 此处的示例项目:https://github.com/zpasternack/MenuBarTest
答案 1 :(得分:4)
嗯,你没有解释(或显示)它看起来很糟糕的方式。您可能正在使用普通的非模板图像作为其图标。您应该使用模板图像,这是一个图像,其唯一重要的部分是alpha蒙版。您可以通过使用&#34;模板&#34;来命名系统,告诉系统它是模板图像。后缀(例如&#34; FooTemplate.png&#34;)或在其上调用-setTemplate:
。