iOS 在CAGradientLayer中对颜色变化进行动画处理。
示例
// 获取渐变的当前颜色。let oldColors = self.gradientLayer.colors
// 定义渐变的新颜色。
let newColors = [UIColor.red.cgColor, UIColor.yellow.cgColor]
// 设置渐变的新颜色。
self.gradientLayer.colors = newColors
// 初始化新动画以更改渐变的颜色。
let animation: CABasicAnimation = CABasicAnimation(keyPath: "colors")
// 设置当前颜色值。
animation.fromValue = oldColors
// 设置新的颜色值。
animation.toValue = newColors
// 设置动画的持续时间。
animation.duration = 0.3
// 设置动画以在完成后将其删除。
animation.isRemovedOnCompletion = true
// 将接收器设置为在动画完成时在其最终状态下保持可见。
animation.fillMode = kCAFillModeForwards
// 设置线性步调,使动画在其持续时间内均匀发生。
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear)
// 设置动画的委托。
animation.delegate = self
// 添加动画。
self.gradientLayer.addAnimation(animation, forKey: "animateGradientColorChange")
结果:
以上是 iOS 在CAGradientLayer中对颜色变化进行动画处理。 的全部内容, 来源链接: utcz.com/z/337926.html