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

3
使用 MacOS Mojave 的新的暗黑模式,我想要更改我的应用程序的菜单栏图标。默认情况下,它是一个白色黑熊,而不仅仅是颜色反转,我想使用一个打盹的熊的图标。
我在 AppDelegate 中的 applicationDidFinishLaunching 方法中设置了所有的菜单栏图标代码。所以我的问题是:是否有一种方法来检查是否激活了暗黑模式,然后使用 Swift 4 更改图标?
我尝试过:
var inDarkMode: Bool {
  let mode = UserDefaults.standard.string(forKey: "AppleInterfaceStyle")
  return mode == "Dark"
}

然后在 if 语句周围加上

button.image = NSImage(named: NSImage.Name(rawValue: "StatusBarButtonImage"))

但是由于代码在applicationDidFinishLaunching中,这只会检查一次。

非常感谢任何帮助。


1
你需要为不同的外观自定义你的图像资源。https://developer.apple.com/documentation/appkit/images_and_pdf/providing_images_for_different_appearances - Leo Dabus
1个回答

1

正如Leo在评论中指出的那样,Apple的文档清楚地解释了该过程:

  1. 打开你的资源目录并添加一个新的图像资源。
  2. 在右侧菜单中,点击下拉菜单的 外观 选项:

enter image description here

默认情况下应该是“任何”,将其更改为“任何,暗”或“任何,亮,暗”以自定义您想要在每种情况下使用的图标。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接