我已经看到菜单栏中的某些图标有颜色,但我无法找到一种方法来为我{I}工作的NSStatusItem
着色。我使用带有颜色的图像(在Images.xcassets内),但它只是白色或黑色。我正在使用MacOS 10.10和Swift。我也没有运气搜索Apple documentation。
感谢您的时间。
答案 0 :(得分:3)
那些带有颜色的状态项实际上是以错误的(旧的)方式进行的。您应该使用模板图像,以便系统可以应用效果并在暗模式下正确显示。对于模板图像,将忽略颜色。只有alpha通道很重要。
如果您真的想要违反Apple的建议,只需使用非模板图片即可。不要在"模板"后面添加您的图像名称。并且不要在代码中设置template
属性。
从10月的AppKit发行说明:
NSStatusItem外观和Dark Menu支持(自WWDC种子后添加的部分)
添加和支持了许多风格变化 NSStatusItem,包括Dark Menus的外观更改。模板 应始终使用图像来确保基于的图像正确 状态项可以处于各种状态(灯光菜单,黑暗菜单, 非活动灯,非活动暗,选中,禁用等)。 NSStatusBarButton的appearDisabled属性可以用来给出 在没有功能的情况下使图像成为禁用或“关闭”外观 禁用。 ...