gpt4 book ai didi

ios - 如何在 View Controller 的多个 View 中添加多种渐变颜色

转载 作者:行者123 更新时间:2023-11-30 11:36:27 25 4
gpt4 key购买 nike

我使用下面的代码来实现渐变颜色。但是当我使用该代码时,它会为整个 View Controller 着色。它还涵盖了其他内容,例如文本字段、标签等。我想在 View Controller 中使用具有多种渐变颜色的多个 View 。假设我在 View Controller 中有三个 View ,并且我想在三个不同的 View 中使用三种不同的渐变颜色。标签和文本字段等内容将显示在渐变颜色上。

这是我的代码:

func setBackground_view() {
let gradientLayer = CAGradientLayer()
let colorTop = UIColor(red: 44/255.0, green: 156/255.0, blue: 56/255.0, alpha: 1.0).cgColor
let colorBottom = UIColor(red: 155/255.0, green: 180/255.0, blue: 23/255.0, alpha: 1.0).cgColor

gradientLayer.colors = [ colorTop, colorBottom]
gradientLayer.startPoint = CGPoint(x: 1.0, y: 0.5)
gradientLayer.endPoint = CGPoint(x: 0.0, y: 1.0)
gradientLayer.frame = self.view.bounds
self.view.layer.addSublayer(gradientLayer)
self.view.layer.insertSublayer(gradientLayer, at: 0)
view.layer.addSublayer(gradientLayer)
}

最佳答案

您在示例中所做的是将渐变应用于 self.view,它本质上是整个 ViewController 的 Root View 。不仅如此,您还在 self.view多次应用相同的渐变。

您想要的是将渐变单独应用于每个元素,而不是 self.view 本身。

假设您有一个 UITextfield,然后只需像之前那样应用渐变,而是直接将其应用到所需的对象上。

textField.layer.insertSublayer(gradientLayer, at: 0)
anyOtherView.layer.insertSublayer(differentGradient, at: 0)

等等等等。

注意:请记住将不同的渐变应用于相应的 View ,否则所有渐变将是相同的。

关于ios - 如何在 View Controller 的多个 View 中添加多种渐变颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49717126/

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