我在应用程序委托中为我的应用程序主窗口设置背景图片:
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
不是放置我的代码的最佳位置。另外有时我会注意到在应用午餐期间,默认背景在眨眼间出现,然后应用了背景图像。
在哪里放置我的代码以应用背景图像的最佳位置?