首页 > 代码库 > 关键帧动画结束后会有短暂停顿

关键帧动画结束后会有短暂停顿

关键帧动画动画设为keyframe.repeatCount = CGFLOAT_MAX;后,每次结束之后都有短暂停顿,怎么解决?

 

其实很简单,设一个属性即可:

 // 计算模式 -> 强制运动,匀速进行,不管路径有多远!否则一次动画结束会有短暂停顿

keyframe.calculationMode = kCAAnimationPaced;

示例代码:

 1 CAKeyframeAnimation *keyframe = [CAKeyframeAnimation animationWithKeyPath:@"position"];
 2     
 3     keyframe.path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(50, 100, 200, 200)].CGPath;
 4     keyframe.duration = 2;
 5     keyframe.repeatCount = CGFLOAT_MAX;
 6     
 7     // 计算模式 -> 强制运动,匀速进行,不管路径有多远!否则一次动画结束会有短暂停顿
 8     keyframe.calculationMode = kCAAnimationPaced;
 9     
10     // 旋转模式 -> 沿着路径,自行旋转 转的时候需要沿着路径的切线!进行转动!
11     keyframe.rotationMode = kCAAnimationRotateAuto;
12     [_smallView.layer addAnimation:keyframe forKey:nil];

 

关键帧动画结束后会有短暂停顿