我写了我的函数,在我的主视图中插入一个图层(addsubview),我给它了vars来管理其渐变背景的大小和颜色,不透明度为1.我插入索引等...
现在,我想通过操作管理此渐变(背景)子图层的不透明度: 我可以删除它,使用子视图的一般不透明度...但是无法在索引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的整体不透明度,但不能管理它的“背景渐变层”
答案 0 :(得分:0)
您应该能够创建对渐变图层的引用...
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
}
}