MacOS使用Swift 4更改菜单栏图标

时间:2018-10-11 21:02:24

标签: swift swift4 macos-mojave

使用MacOS Mojave中新的Dark模式,我想更改应用程序的菜单栏图标。默认情况下,它是白色的黑熊,而不仅仅是反转颜色,我想使用打bear熊的图标。

我拥有在AppDelegate的{​​{1}}中设置菜单栏图标的所有代码。所以我的问题是:有没有办法检查暗模式是否被激活,然后使用swift 4更改图标?

我尝试过:

applicationDidFinishLaunching

,然后是一个if语句

var inDarkMode: Bool {
  let mode = UserDefaults.standard.string(forKey: "AppleInterfaceStyle")
  return mode == "Dark"
}

但是由于代码在button.image = NSImage(named: NSImage.Name(rawValue: "StatusBarButtonImage")) 中,因此只会检查一次。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

正如Leo在评论中所指出的,Apple's docs清楚地说明了这一过程:

  1. 打开资产目录并添加新的图像资产。
  2. 在右侧菜单中,单击外观上的下拉菜单:

enter image description here

默认情况下应为 Any ,将其更改为 Any,Dark Any,Light,Dark 以自定义所需的图标用于每种情况。