layer.addSublayer VS layer.insertSublayer动画

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) 

但是当我做到这一点,动画完全停止工作

这是为什么发生?

有时我用我自己的愚蠢给自己留下印象。当我在故事板中构建界面时,我有一张渐变的测试图片。新的动画渐变显然低于测试图像,因此应该隐藏起来。