With the new Dark mode in MacOS Mojave I would like to change the menubar icon of my app. In default, it is a white black bear and rather than just inverting the colors I would like to use an icon of a snoozing bear.
I have all my code that sets up the menubar icon in AppDelegate
in applicationDidFinishLaunching
. So my question is: Is there a way to check if the dark mode was activated and then change the icon using swift 4?
I tried:
var inDarkMode: Bool {
let mode = UserDefaults.standard.string(forKey: "AppleInterfaceStyle")
return mode == "Dark"
}
and then an if statement around
button.image = NSImage(named: NSImage.Name(rawValue: "StatusBarButtonImage"))
but because the code is in applicationDidFinishLaunching
this will only check once.
Any help much appreciated.
As pointed to by Leo in the comments, Apple's docs explain the process clearly:
It should be Any by default, change it to Any, Dark , or Any, Light, Dark to customize the icons you want to use for each case.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.