我目前有一个渐变颜色背景(见下文),但我想逐渐将颜色更改为阴影,我将在数组中预先定义并使其循环。我怎样才能做到这一点?如何不断改变渐变色背景?
var colorTop = UIColor(red: 255.0/255.0, green: 149.0/255.0, blue: 0.0/255.0, alpha: 1.0).cgColor
var colorBottom = UIColor(red: 255.0/255.0, green: 94.0/255.0, blue: 58.0/255.0, alpha: 1.0).cgColor
func configureGradientBackground(colors:CGColor...){
let gradient: CAGradientLayer = CAGradientLayer()
let maxWidth = max(self.view.bounds.size.height,self.view.bounds.size.width)
gradient.startPoint = CGPoint(x: 0, y: 0)
gradient.endPoint = CGPoint(x: 1, y: 1)
let squareFrame = CGRect(origin: self.view.bounds.origin, size: CGSize(width: maxWidth, height: maxWidth * 0.935))
gradient.frame = squareFrame
gradient.colors = colors
view.layer.insertSublayer(gradient, at: 0)
}
override func viewDidLoad() {
super.viewDidLoad()
configureGradientBackground(colors: colorTop, colorBottom)
}
但是,这不会给我带来持续更新颜色的问题吗?我尝试通过再次调用configureGradientBackground来实现新颜色来更改渐变颜色,但它不更新颜色; +我想以某种方式将过渡动画化,以便它可以清晰地改变颜色;有任何想法吗? –
[这](http://stackoverflow.com/questions/30380910/changing-uiview-background-color-using-an-animation)可能会帮助你的动画部分,其余的只是循环无限'while'改变你的颜色,因为上面的答案暗示 – Tj3n
但是这不更新颜色;因为当我调用某些东西来改变渐变的值时,它不会更新屏幕上的颜色 –