我正在寻找一种方法来消除 NSStatusBarButton 的苍白效果。这是它当前外观的图片:
它应该是这样的:
在查看了 Apple 的文档后,我找到了解决问题的方法。如果您直接设置按钮的外观(例如 Aqua 或 DarkAqua),则苍白效果消失:
if let button = statusBarItem.button {
...
button.appearance = NSAppearance.current // or aqua / darkAqua
}
但问题是当用户更改界面主题(例如从暗模式到亮模式)时,NSStatusBarButton 不会自动更改其外观:
我可以监控AppleInterfaceThemeChangedNotification
然后更改外观,但这不是一个干净的解决方案,我对此不满意。
有一个优雅的解决方案吗?NSStatusBarButton 中的图像应该简单地显示而不做任何更改(例如苍白)。因为我提供世界上所有的旗帜,所以我只有 png 格式的图像,没有 PDF 图像。