ios – 如何沿着UIBezierPath动画完整CALayer动画的百分比?

前端之家收集整理的这篇文章主要介绍了ios – 如何沿着UIBezierPath动画完整CALayer动画的百分比?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我设法沿着UIBezierPath为CALayer制作动画.

我想要完成的是仅为路径的一定百分比设置动画,例如,仅为路径的25%,并且该层保持在该位置(25%).

这样做的方法是什么?这是我的代码,它总是为完整路径设置动画.

let aPath = UIBizierPath(CGPath: somePath)
let anim = CAKeyframeAnimation(keyPath: "position")
anim.path = aPath.CGPath
anim.rotationMode = kCAAnimationRotateAuto
anim.repeatCount = 1
anim.fillMode = kCAFillModeForwards
anim.removedOnCompletion = false
anim.duration = 3.0
anim.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaSEOut)

ticker.addAnimation(anim,forKey: "animate_ticker")

解决方法

简单改变一个属性
anim.repeatCount = 0.25

这是一个 excellent article on animation timing,你可以学习如何对你的动画进行更细粒度的控制.

附加:
1.为了实现你想要的,最接近的方法是拥有25%的子路径,这里有一些helper method.

2.如果您能忍受速度差异,请使用上述方法,并在动画结束时设置回位置:

ticker.position = ticker.presentationLayer().position
原文链接:https://www.f2er.com/iOS/333255.html

猜你在找的iOS相关文章