レイヤーのposition
プロパティを点Aから点Bに、中心点Cと半径Rの円弧でアニメーション化したいだけです。単純ですが、コアアニメーションを半分に曲げようとしているような気がします。CAAnimationのサブクラス化は可能ですか?
理想的な方法は、単にカスタムCAPropertyAnimation
サブクラス、のようなものを作成することですように思える:
let anim = MyArcPropertyAnimation(keyPath: "position", center: CGPoint, radius: CGFloat)
anim.fromValue = fromPoint
anim.toValue = toPoint
myLayer.addAnimation(anim, forKey: "positionArcAnimation")
をしかし、私はサブクラス化CAAnimation
またはそれの誘導体のいずれか上の任意の情報を見つけることができません。他の点では有望であると思われるCAValueFunction
の場合も同様です。
注:私はPOPを使って実行していますが、as warned by a facebook engineerというパフォーマンスが私の使用には遅すぎることがわかりました。