layer.addSublayer VS layer.insertSublayer动画
问题描述:
我一个动画作为CAGradient所以layer.addSublayer VS layer.insertSublayer动画
let gradientChangeAnimation = CABasicAnimation(keyPath: "colors")
gradientChangeAnimation.duration = 5.0
gradientChangeAnimation.toValue = [
UIColor(red: 244/255, green: 88/255, blue: 53/255, alpha: 1).cgColor,
UIColor(red: 196/255, green: 70/255, blue: 107/255, alpha: 1).cgColor
]
gradientChangeAnimation.fillMode = kCAFillModeForwards
gradientChangeAnimation.isRemovedOnCompletion = false
gradientLayer.add(gradientChangeAnimation, forKey: "colorChange")
当我用这个方法
self.view.layer.addSublayer(gradientLayer)
但是它添加到视图它工作正常,它是现在屏蔽了我的所有UI按钮和图标,所以我试图将它插入这些项目下面
self.view.layer.insertSublayer(gradientLayer, at: 0)
但是当我做到这一点,动画完全停止工作
这是为什么发生?
答
有时我用我自己的愚蠢给自己留下印象。当我在故事板中构建界面时,我有一张渐变的测试图片。新的动画渐变显然低于测试图像,因此应该隐藏起来。