Ios CAKeyframeAnimation键在1.0秒后未执行

Ios CAKeyframeAnimation键在1.0秒后未执行,ios,swift,caanimation,cakeyframeanimation,Ios,Swift,Caanimation,Cakeyframeanimation,出于某种奇怪的原因,当我在1秒后输入关键时间时,它们似乎不会执行,但当我将所有关键时间保持在1秒以下时,它们都会正确执行。不知道为什么会这样,有人有什么想法吗?这是我正在使用的函数: func animateKeyFrameGroup() { let opacity = CAKeyframeAnimation(keyPath: "opacity") opacity.values = [1, 0, 1] opacity.keyTimes = [0.1, 1.0, 1.5] let trans

出于某种奇怪的原因,当我在1秒后输入关键时间时,它们似乎不会执行,但当我将所有关键时间保持在1秒以下时,它们都会正确执行。不知道为什么会这样,有人有什么想法吗?这是我正在使用的函数:

 func animateKeyFrameGroup() {

let opacity = CAKeyframeAnimation(keyPath: "opacity")
opacity.values = [1, 0, 1]
opacity.keyTimes = [0.1, 1.0, 1.5]

let translation =  CAKeyframeAnimation(keyPath:"transform.translation")
translation.values = [CGPoint(x: 150, y: 300),CGPoint(x: 100, y: 100),CGPoint(x: 150, y: 300)]
translation.keyTimes = [0.1, 1.0, 1.5]

let cornerRadius =  CAKeyframeAnimation(keyPath: "cornerRadius")
cornerRadius.values = [circle.bounds.width, circle.bounds.width/2, circle.bounds.width]
cornerRadius.keyTimes = [0.1, 1.0, 1.5]

let borderColor =  CAKeyframeAnimation(keyPath: "borderColor")
borderColor.values = [UIColor.black.cgColor, UIColor.cyan.cgColor, UIColor.black.cgColor]
borderColor.keyTimes = [0.1, 1.0, 1.5]

let keyframeAnimationGroup = CAAnimationGroup()
keyframeAnimationGroup.animations = [translation, cornerRadius, borderColor, opacity]
keyframeAnimationGroup.duration = 2
keyframeAnimationGroup.isRemovedOnCompletion = false
keyframeAnimationGroup.fillMode = kCAFillModeForwards
circle.layer.add(keyframeAnimationGroup, forKey: nil)
  }
根据:

数组中的每个值都是介于0.0和1.0之间的浮点数,用于定义应用相应关键帧值的时间点(指定为动画总持续时间的一部分)。数组中的每个连续值必须大于或等于上一个值。通常,数组中的元素数应该与数组中的元素数匹配 价值观 属性或中的控制点数 路径 财产。如果没有,动画的计时可能不是您所期望的

因此,您可以更改总动画持续时间:
keyframeAnimationGroup.duration=2


关键时间是总持续时间的分数。比如:keyTime=0.5->2*0.5=1秒,keyTime=0.75->2*0.75=1.5秒等等。

这就更有意义了!我原本以为关键时刻是秒!