ios - 渐变子层不透明度

标签 ios swift

我写了我的函数来在我的主视图中插入一个图层 (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/

相关文章:

arrays - 数组的大小在 Swift 中总是返回 0

ios - 使用 youtube-ios-player-helper 播放视频

ios - 如何在数组 "Cannot convert value of type ' UIImageView 中附加 UIImage!”

ios - 从 Firebase 和 Swift 3 中检索字典数组

ios - Swift:如何在加载 View Controller X 次后创建事件

ios - 当父 UIViewController 设置为 RootViewController 时,UIView 不会成为第一响应者

ios - 使用 AFNetworking 进行 SSL 固定

ios - 为什么 NSOperationQueue 不执行使用 addOperationWithBlock 提交的 block ?

ios - 将转义的 UTF8 字符转换回其原始形式

ios - 为什么我的页面 Controller 不能无限向后滚动?