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

回到顶部