如上所示,我有一个视图控制器(NSViewController
)和一个窗口控制器(NSWindowController
)。我有一个自定义窗口(NSWindow
),以便我可以自定义主窗口的外观。特别地,我只想将特定颜色设置为其背景颜色。
class BasicBorderlessWindow: NSWindow {
override init(contentRect: NSRect, styleMask style: NSWindowStyleMask, backing bufferingType: NSBackingStoreType, defer flag: Bool) {
super.init(contentRect: contentRect, styleMask: style, backing: .buffered, defer: false)
self.isOpaque = false
self.backgroundColor = NSColor.green
}
}
现在,整个窗口都是绿色的。
我想知道的是一种在应用程序启动后改变整个窗口颜色的方法。子类窗口(BasicBorderlessWindow)连接到窗口控制器。所以我可以从视图控制器访问它。我可以创建一个设置新颜色的函数,以便我可以从视图控制器中调用它。但我无法刷新窗口。那么如何更改窗口的背景颜色并进行更新呢?感谢。
答案 0 :(得分:1)
尝试在窗口控制器中设置窗口的背景颜色。你根本不需要NSWindow子类。
self.window?.backgroundColor = NSColor.blue