CAKeyframeAnimation不透明度与UIImageView子图层表现奇怪

时间:2017-04-06 19:53:53

标签: ios swift swift3 core-animation cakeyframeanimation

当我滚动UIScrollView时,我试图动画UIView的不透明度。为此,我设置了一个关键帧动画(使用以下代码)并在scrollView滚动时更改其timeOffset值。

    let alphaAnimation = CAKeyframeAnimation(keyPath: "opacity")
    alphaAnimation.duration = 1.0
    alphaAnimation.isRemovedOnCompletion = false
    alphaAnimation.autoreverses = false
    alphaAnimation.values = [1.0, 0.0]
    alphaAnimation.keyTimes = [0.0, 1.0]
    alphaAnimation.repeatCount = 0
    alphaAnimation.fillMode = kCAFillModeForwards

    headerInfoView.layer.add(alphaAnimation, forKey: "animate opacity")
    headerInfoView.layer.speed = 0.0
    headerInfoView.layer.timeOffset = CFTimeInterval(0.0)
    headerInfoView.layer.opacity = 1.0

已在viewWillAppear中设置。

这实际上很好用除了我在headerInfoView中有一个imageView子节点,并且出于某种原因,当timeOffset< ~0.1,imageView的alpha约为0.如果我注释掉上面的代码,则imageView的alpha保持不变。

我已经尝试等到imageView.image获取回调以附加上面的CAKeyframeAnimation并且也无效。

关于为什么这些imageView子图层似乎在viewWillAppear上消失了?

0 个答案:

没有答案