[UIView animateWithDuration: animations:^{}]
上記の使用を独自のカスタムアニメーションメソッドに置き換えています。ただし、これが持つ標準的な効果は非常に気に入っています。
だから私の質問は、animateWithDuration のフレーム レートは何ですか?
animateWithDuration の機能は何ですか? それを実装する方法などのアルゴリズムを知る必要はありません。速度/加速度の数式だけです。
[UIView animateWithDuration: animations:^{}]
上記の使用を独自のカスタムアニメーションメソッドに置き換えています。ただし、これが持つ標準的な効果は非常に気に入っています。
だから私の質問は、animateWithDuration のフレーム レートは何ですか?
animateWithDuration の機能は何ですか? それを実装する方法などのアルゴリズムを知る必要はありません。速度/加速度の数式だけです。
「速度」機能は簡単に検査できます。CocoaTouch アニメーションは Core Animation を使用して実装され、「速度」は以下を使用して実装されますCAMediaTimingFunction
。
CAMediaTimingFunction *function = [CAMediaTimingFunction functionWithName: kCAMediaTimingFunctionEaseInEaseOut];
getControlPointAtIndex:values:
次に、タイミング関数曲線 (3 次ベジエ) の制御点を取得するために呼び出します。
もちろん、フレーム レートは、デバイスのディスプレイ、GPU (+ その他のハードウェア コンポーネント)、および現在の負荷によって異なります。もちろん、フレームレートはまったく気にする必要はありません。アニメーションの開始からの時間のみを操作します。
ただし、デフォルトのアニメーションを独自の実装に置き換えることは、ほとんどの場合間違いです。アニメーションは非常に使いやすく、そのパフォーマンスに勝るものはありません。より複雑なアニメーションが必要な場合は、より低いレベルに進むことCore Animation
ができます。アニメーションを最初から置き換えるのは...非常に悪い考えです。