我写了我的函数来在我的主视图中插入一个图层 (addsubview),我给它 vars 来管理其渐变背景的大小和颜色,不透明度为 1。我插入了一个索引等...
现在,我想通过操作来管理这个渐变(背景)子层的不透明度: 我可以删除它,使用 subview 的一般不透明度...但无法将此子层的不透明度定位在索引 0 处。
有什么想法吗?
在我的 viewdidLoad 函数中:
func insertHeader () {
self.view.addSubview(TopMenuView)
TopMenuView.frame.size.width = self.view.bounds.size.width
let gradient:CAGradientLayer = CAGradientLayer()
let colorTop = UIColor(RGBa).cgColor
let colorBottom = UIColor(RGBa).cgColor
//etc
gradient.opacity = 1.0
TopMenuView.layer.insertSublayer(gradient, at: 0)
}
后来,无法针对此子层渐变的不透明度... 我可以管理 TopMenuView.layer 的整个不透明度,但不能管理它的“背景渐变层”
最佳答案
您应该能够创建对渐变层的引用...
class ViewController: UIViewController {
var topMenuGradient = CAGradientLayer()
override func viewDidLoad() {
super.viewDidLoad()
self.view.addSubview(TopMenuView)
TopMenuView.frame.size.width = self.view.bounds.size.width
let colorTop = UIColor(RGBa).cgColor
let colorBottom = UIColor(RGBa).cgColor
//etc
topMenuGradient.frame = TopMenuView.bounds
topMenuGradient.opacity = 0.5
TopMenuView.layer.insertSublayer(topMenuGradient, at: 0)
}
@IBAction func btnTapped(_ sender: Any) {
topMenuGradient.opacity = 0.1
}
}
关于ios - 渐变子层不透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44764850/