1

私は CATransactions について読んでいて、これが私の問題を解決するのに役立つかもしれないと考えました。

これは私がやりたくないことです。同じレイヤーに 3 つのアニメーションがあり、それぞれに独自の長さがあります。CAKeyframeAnimation と CGMutablePathRef を使用してアニメーションを作成します。

たとえば、次のように言います。

  • anim1 -> 持続時間 5 秒
  • アニメ2→3秒
  • アニメ3→10秒

今、それらを順番にシリアライズしたいと思います。CAAnimationGroup を使用しようとしましたが、アニメーションが同時に実行されます。CATransaction について読みましたが、解決策はありますか? 少し例を挙げていただけますか?

手伝ってくれてありがとう !

4

2 に答える 2

2

シリアル化によって、前のアニメーションが終了した後に各アニメーションを開始することを意味する場合は、プロパティ (プロトコルbeginTimeで定義) を使用します。CAMediaTimingそのドキュメントは少し誤解を招くことに注意してください。次に例を示します。

anim2.beginTime = anim1.beginTime + anim1.duration;
anim3.beginTime = anim2.beginTime + anim2.duration;
于 2011-04-08T17:08:21.433 に答える