2010-12-11 18 views
4

2つの異なるレイヤーでパスアニメーションを同期させる必要があります(もう1つは別のレイヤーのマスクとして使用され、もう1つはパスに続くグラフィックエレメントを示します。私がちょうど同じように設定した場合、決して同じことをすることはありません。現在、私はCAKeyframeAnimationのパス(グラフィック要素用)とCABasicAnimationを使用しています。ここでは、同じパスの「strokeEnd」を0.0〜1.0(マスク用)にアニメーションします。iPhone:2つの異なるレイヤーでアニメーションを同期させる

アニメーショングループはここではうまくいかないと思います。それは、マスクレイヤーにグループを適用すると、グラフィック要素が隠れることになります。

答えて

5

キーフレームアニメーションにcalculationMode = kCAAnimationPacedを設定しましたか?

+0

いいえ、私はなかった。それは実際に私の問題を解決しました。ありがとう、オレ。どういうわけか、すべてのアニメーション関連の回答があるようです:) –

+0

うれしい私は助けることができました。私は現時点で似たような仕事をしているので、同じ障害が発生する可能性があります。 –

+1

私のアプリケーションでは、 'bezierPathWithOvalInRect:'で定義されたパスを使用していますが、iOS 7ではパスに続くグラフィック要素が基本アニメーションの 'strokeEnd'と同期しなくなっています。あなたはこれにぶつかりましたか?任意のアイデアを修正する方法? – XJones

2

AppleはiOS7の既知のバグについて知らせてくれました.iOS7では、特定のパス(楕円形のパスなど)が同じパスに沿って2つの異なるレイヤーをアニメートすることに関してうまく機能しません。 1つのレイヤのストロークエンド、および別のレイヤの位置です。具体的には、アニメーション中に2つのアニメーションが同期してずれてしまい、見栄えが悪くなります。 Appleはまた、既知の回避策がないことを私に通知した。私もAppleにバグを提出しました。

関連する問題