ios - 如何以编程方式快速使用 CAGradientLayer 将渐变设置为 UIView( subview )?

标签 ios swift uiview subview cagradientlayer

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        view.addSubview(container)
        container.customAcnhor(top: view.topAnchor, left: view.leftAnchor, right: view.rightAnchor, height: 350)
        
    }

    let container : UIView = {
        var view = UIView()
        let gradient = CAGradientLayer()
        gradient.frame = view.bounds
        gradient.colors = [UIColor.blue.cgColor, UIColor.red.cgColor]
        view.layer.insertSublayer(gradient, at: 0)
        
        return view
    }()
}
代码上下文
上面的类有一个 容器 它的类型为 UIView 其中包含 CAGradientLayer .我正在尝试将渐变显示为 subview 我将此容器( subview )添加到主视图的位置。
下面是一个类似的例子,说明我想如何实现这一点。图像上的蓝色需要有我的自定义渐变。
有人可以帮我解决这个问题吗?
I want the gradient to be on the blue part of the sub-view as something similar shown in the image.

最佳答案

您可能需要设置 gradient layer 的框架再次布置container view .

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        view.addSubview(container)
        container.customAcnhor(top: view.topAnchor, left: view.leftAnchor, right: view.rightAnchor, height: 350)
        gradient.colors = [UIColor.blue.cgColor, UIColor.red.cgColor]
    }
    let gradient = CAGradientLayer()

    lazy var container : UIView = {
        var view = UIView()
        view.layer.insertSublayer(gradient, at: 0)
        return view
    }()
    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()
        gradient.frame = container.bounds
    }
}

关于ios - 如何以编程方式快速使用 CAGradientLayer 将渐变设置为 UIView( subview )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62214337/

相关文章:

ios - 带有链接的警报消息,用于导航到 Swift 应用程序中的不同场景

ios - 在具有动态高度的 UITableViewCell 原型(prototype)中拥有可变数量的 View 是否可行?

ios - 在 Swift 中从 NSData 读取时的 EXC_ARM_DA_ALIGN

ios - 如何在Google Map,Swift中设置受限区域或受限区域

ios - ScrollView 的MVC

ios - UIView背景图片调整大小

iphone - 在屏幕上显示另一个 viewController 时调用某个 UIViewController 上的方法?

ios - GoodBarber.com - 他们使用哪个控件?

ios - UIView 中的 Swift TableView 不显示数据

ios - 如何在 iOS 中单击按钮时正确显示/隐藏 UIView