1

CALayer によって実装された CAMediaTiming プロトコルを使用して、暗黙的な CALayer アニメーションのタイミングに影響を与えようとしています。

これまでのところ、私はしなければならないようです

[CATransaction begin];
[CATransaction setAnimationDuration:d];
layer.frame = newFrame;
[CATransaction commit];

layer.timeOffset = -1;

暗黙的なアニメーションに 1 秒の遅延を作成する

残念ながら、ここで起こっているように見えるのは、アニメーションが非常に短時間で開始され (レイヤーがわずかに移動します)、その後元の位置に戻り、実際のアニメーションを開始する前に 1 秒間待機することです。

これは、timeOffset 情報の Render Tree への伝達が遅れたためだと思います。[CATransaction フラッシュ] で遊んでみましたが、初期スタッターのない配置は見つかりませんでした。

CALayer の CAMediaTiming メソッドを使用して暗黙的なアニメーションのタイミングを変更した人はいますか?

4

1 に答える 1

1

http://wangling.me/2011/06/time-warp-in-animation.htmlを使用すると非常に便利であることがわかりましたCAMediaTimingtimeOffset特にとに関する説明は、beginTimeあなたにとって興味深いかもしれません。

于 2013-06-27T20:29:37.597 に答える