繁体   English   中英

自定义 xCode 中的控制视图外观

[英]Customize Control View appearance in xCode

我正在为 OSX 创建一个应用程序,我唯一需要的是删除我的应用程序 window 的背景颜色。

如果我运行该应用程序,它将出现一个 window,可能是白色或黑色(Aqua,Dark Aqua)。 在此处输入图像描述

所以,我尝试进入“ViewController.swift”文件并编写了这段代码

class ViewController: NSViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // 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
    }
}

例如,通过这种方式,我将背景颜色变为红色。 但是,这不是我想要的。 所以我尝试了另一种方式(使用 RGBA 颜色)

class ViewController: NSViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // 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 = CGColor(red: 255/255, green: 0/255, blue: 0/255, alpha: 1)
    }
}

我看到降低'alpha'值,不透明度也会降低。 所以,我尝试了

CGColor(red: 255/255, green: 0/255, blue: 0/255, alpha: 0)

红色消失了,但现在您可以看到 ViewController 的白色(或黑色)颜色。

我知道我只是用颜色创建了另一个图层(如 ImageView),但我没有修改 ViewController 背景。 有没有办法我可以做到这一点? 或者这是不可能的?

我已经找到了解决方案。 只是 go 到“ViewController.swift”文件,然后写这个

class ViewController: NSViewController {

    override func viewWillAppear() {
        super.viewWillAppear()
        view.window?.isOpaque = false
        view.window?.backgroundColor = NSColor(red: 1, green: 0.5, blue: 0.5, alpha: 0.0)
    }
}

如果您想更改颜色,只需修复红色、绿色、蓝色值。 alpha 值决定透明度。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM