设置NSStatusItem OSX 10.10 Swift的颜色

时间:2015-03-11 14:27:54

标签: macos cocoa swift nsstatusitem

我已经看到菜单栏中的某些图标有颜色,但我无法找到一种方法来为我{I}工作的NSStatusItem着色。我使用带有颜色的图像(在Images.xcassets内),但它只是白色或黑色。我正在使用MacOS 10.10和Swift。我也没有运气搜索Apple documentation

感谢您的时间。

1 个答案:

答案 0 :(得分:3)

那些带有颜色的状态项实际上是以错误的(旧的)方式进行的。您应该使用模板图像,以便系统可以应用效果并在暗模式下正确显示。对于模板图像,将忽略颜色。只有alpha通道很重要。

如果您真的想要违反Apple的建议,只需使用非模板图片即可。不要在"模板"后面添加您的图像名称。并且不要在代码中设置template属性。

从10月的AppKit发行说明:

  

NSStatusItem外观和Dark Menu支持(自WWDC种子后添加的部分)

     

添加和支持了许多风格变化   NSStatusItem,包括Dark Menus的外观更改。模板   应始终使用图像来确保基于的图像正确   状态项可以处于各种状态(灯光菜单,黑暗菜单,   非活动灯,非活动暗,选中,禁用等)。   NSStatusBarButton的appearDisabled属性可以用来给出   在没有功能的情况下使图像成为禁用或“关闭”外观   禁用。 ...