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

Posted 小课桌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关键帧动画结束后会有短暂停顿相关的知识,希望对你有一定的参考价值。

关键帧动画动画设为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];

 

以上是关于关键帧动画结束后会有短暂停顿的主要内容,如果未能解决你的问题,请参考以下文章

寻找画布关键帧暂停关键帧动画示例

CSS关键帧动画优雅完成

CSS3 关键帧动画:结束并停留在最后一帧

如何停止 CSS 关键帧动画?

ios之CAKeyframeAnimation关键帧动画详解

Safari 忽略关键帧动画的内联样式