2

皆さんこんにちは。

CATransition本質的に明示的なアニメーションに変換できるかどうかは誰にもわかりませんか? つまり、オブジェクトを作成し、そのオプションを設定できるようにCABasicAnimationする必要があります(オブジェクトの作成と、一連のプロパティをアニメーション化するために実際に必要な時点との間に起こっていることをアニメーション化しようとしています。CATransitiondurationtimingFunctiondelegatetypefillModeremovedOnCompletionCATransition

を使用している場合、アニメーションがレイヤーに追加されるまで何もアニメーション化されず、 toValue/fromValue の間CABasicAnimationで指定されたプロパティのみがアニメーション化されるため、これを簡単に行うことができます。animationWithKeyPathただし、プロパティの変更をキャプチャするためのアニメーション オブジェクトを作成した瞬間CATransitionに発生するようです。[CATransaction begin]

(上記のように)できるようにする必要があるのは、CATransitionオブジェクトを作成し、上記のオプションを設定してから、実際に使用する必要があるまでそれを片付けることです。その時点で、アニメーション化する必要がある実際のプロパティを変更します、次にそれを適切なCALayerviaに追加しaddAnimationます。

これを安全に行う方法を知っている人はいますか?

PS: これは、私のアプリケーションが、アニメーションの依存関係を処理するカスタム アニメーション キューイング システムに大きく依存しているためです。たとえば、方向の変更が発生する前に特定のものをアニメーション化する必要があるため、10 個までのアニメーションをキューに入れることができます。これらのアニメーションはすべて発生し、方向変更のアニメーション オブジェクトも発生しますが、方向変更のアニメーションは、前のアニメーションが発生するまで起動しません完了したかどうかによって異なります。ちなみに、CABasicAnimationキューに入れられたアニメーション オブジェクト クラスにうまくまとめることができます。CATransition少し違う獣のようです。したがって、上記の質問-アニメーションキューオブジェクトを安全に作成し、一連のアニメーションをセットアップできる必要がありますCATransitionオプション、それをキューに入れ、実際に後で実行させます (その間、あらゆる種類のことが起こっています) 依存関係がすべて満たされたとき (この場合、CATransition向きの変更アニメーションに使用されています)。

ありがとう、 -ケベン・ティッピング

4

0 に答える 0