私は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")
この問題は、アニメーションが* path *の途中で停止せず、*アニメーション*の1/4だけ停止することです。したがって、 'kCAMediaTimingFunctionEaseInEaseOut'タイミング関数と' repeatCount'の0.25では、アニメーションは予想より早く停止します。さらに、タイミング機能はアニメーションの持続時間全体に適用されます。したがって、OPが望むものであってもなくても、スピードアップしてから突然停止するように見えます。 – Hamish
@ originaluser2、あなたは正しいです。私はそれがそれを説明するので、私はそれが思ったどこに完全に停止アニメーションを見つけた!ありがとう!私は、アニメーションではなく、パスの1/4を探しています。 –