xcode - 在 xCode 中自定义控制视图外观
问题描述
我正在为 OSX 创建一个应用程序,我唯一需要的是删除我的应用程序窗口的背景颜色。
如果我运行该应用程序,它将出现一个可能是白色或黑色(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 背景。有没有办法我可以做到这一点?或者这是不可能的?
解决方案
我已经找到了解决方案。只需转到“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 值决定透明度。
推荐阅读
- macos - 从 Safari 和 Mail 中查找选定文本的范围
- fabricjs - 在fabric.js中画两个箭头
- android - 从recyclerview中选择项目后如何隐藏软键盘?
- c++ - 在静态库中内联类方法
- ubuntu - unit ark.service未正确加载:Exec格式错误
- javascript - mediarecorder.requestdata 不返回任何内容
- html - 如何在html中对齐卡片?
- python - PyQt5 中的可滚动 QLabel 图像
- ruby - Ruby 正则表达式匹配 vs ===
- python-3.x - 如何连接字符串和变量并在python中为其赋值