我正在开发单视图Mac应用程序,我想以编程方式更改背景颜色。我该怎么做?
答案 0 :(得分:6)
将此代码放入主viewDidLoad()
的{{1}}函数中。那是Cocoa应用程序模板中的NSViewController
。
ViewController.swift
显然,用您选择的颜色替换红色。
设置// tell the controller's view to use a CALayer as its backing store
view.wantsLayer = true
// change the background color of the layer
view.layer?.backgroundColor = NSColor.red.cgColor
后,您可以更改颜色而无需再次设置。
答案 1 :(得分:3)
确保您尝试更改视图的背景属性,而不是视图控制器。视图控制器没有背景,因为它们没有显示任何内容,但它们的视图有:
class ViewController: NSViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.view.layer?.backgroundColor = NSColor.red.cgColor;
}
这会将viewcontroller主视图的背景颜色变为红色。
答案 2 :(得分:0)
这是更改 MacOS 背景颜色的扩展。
extension NSViewController{
func setBackgroundColor(_ color : NSColor, alpha : CGFloat){
view.wantsLayer = true
view.layer?.backgroundColor = color.cgColor
view.alphaValue = alpha
}
}