Я устанавливаю фоновое изображение для главного окна моего приложения внутри делегата приложения:
func applicationDidFinishLaunching(_ aNotification: Notification) {
if let mw = NSApplication.shared.mainWindow {
mw.isMovableByWindowBackground = true
mw.backgroundColor = NSColor.init(red: 0.3, green: 0.3, blue: 0.3, alpha: 1.0)
if let cv = mw.contentView {
cv.wantsLayer = true
let image = NSImage(named: NSImage.Name(rawValue: "bkg"))
cv.layer!.contents = image
}
else {
print("Content view is not initialized yet")
}
}
else {
print("Main window is not initialized yet")
}
}
Однако иногда я вижу, что mainWindow
возвращает nil
.Так что я думаю applicationDidFinishLaunching
не лучшее место для размещения моего кода.Также иногда я замечаю, что во время обеда в приложении фон по умолчанию появляется в мгновение ока, а затем применяется фоновое изображение.
Где лучше всего разместить мой код для применения фонового изображения?