gpt4 book ai didi

ios - viewDidLoad 上的 UIButton 渐变效果问题

转载 作者:搜寻专家 更新时间:2023-11-01 07:20:08 24 4
gpt4 key购买 nike

我的问题不是关于如何为 UIButton 设置渐变,而是在哪里设置。这就是我的设置方式:

let btnGradient = CAGradientLayer()
btnGradient.frame = button_start_course.bounds
btnGradient.colors = [(UIColor(red: 174.0 / 255.0, green: 127.0 / 255.0, blue: 183.0 / 255.0, alpha: 1.0).CGColor as CGColorRef), (UIColor(red: 78.0 / 255.0, green: 57.0 / 255.0, blue: 96.0 / 255.0, alpha: 1.0).CGColor as CGColorRef)]
button_start_course.layer.insertSublayer(btnGradient, atIndex: 0)

当我在 viewDidLoad 中调用它时,button_start_course 给出了不正确的边界。为了解决这个问题,我在 viewDidAppear 中调用了这段代码。它工作正常,除了最初为 storyboard 上的 button_start_course 设置的颜色首先出现,然后变为渐变颜色。
如何解决这个问题?

最佳答案

viewDidLayoutSubviews中添加代码。要调用它一次,声明一个 bool 值,当 View 完成 subview 的布局时设置为 true。

override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()

if !viewDidLayoutSubviews {
viewDidLayoutSubviews = true
// Code here
}
}

关于ios - viewDidLoad 上的 UIButton 渐变效果问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39586987/

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