gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 21:46:05 25 4
gpt4 key购买 nike

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com