Swift + NSViewController背景色(Mac App)

Roh*_*irm 21 background colors nsviewcontroller swift

我想改变我的视图的背景颜色.View Controller类是NSViewController类型.

怎么做到这一点?在iOS UIKit(UIViewController)中有self.view.backgroundColor,但NSViewController没有.

第二个问题是如何更改应用程序标题栏的颜色?我认为背景颜色不会对此产生影响.

Mac应用程序,语言Swift.XCode 6.1.

小智 54

我设法改变主视图的背景颜色.NSViewController确实没有backgroundColor属性,所以我使用了属于NSViewController的NSView的layer属性.这是代码.

class ViewController: NSViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        self.view.wantsLayer = true

    }

    override var representedObject: AnyObject? {
        didSet {
        // Update the view, if already loaded.
        }
    }

    override func awakeFromNib() {
        if self.view.layer != nil {
            let color : CGColorRef = CGColorCreateGenericRGB(1.0, 0, 0, 1.0)
            self.view.layer?.backgroundColor = color
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

它将使用红色背景初始化视图控制器.

对于标题栏颜色,我创建了NSWindowController并将其从故事板中分配给主窗口控制器.这是代码.

class MainWindow: NSWindowController {

    override func windowDidLoad() {
        super.windowDidLoad()

        super.window?.backgroundColor = NSColor(calibratedRed: 0.0, green: 1.0, blue: 0.0, alpha: 1.0)
    }

}
Run Code Online (Sandbox Code Playgroud)

我希望这将有所帮助.

  • 哦,我的眼睛O_O (9认同)