複数の CALayer を同時にアニメーション化する際にいくつかの問題に遭遇しており、誰かが私を正しい方向に向けてくれることを望んでいました。
私のアプリには CALayer の配列が含まれています。各レイヤーの位置は に設定されて(previousLayer.position.y + previousLayer.bounds.height)
おり、基本的にはテーブルのように配置されています。次に、呼び出されるたびに新しいレイヤーをスタックに追加し、その Y 位置を 0 に設定するメソッドがあります。配列内の他のすべてのレイヤーの Y 位置は、新しいレイヤーの高さだけオフセットされます。層 (基本的にすべての古い層を押し下げます)。
私が問題を抱えているのは、前のアニメーションが完了するまで新しいレイヤーを追加できないことです。暗黙のアニメーションがいつ終了したかを知る方法はありますか? あるいは、CABasicAnimation
andを使用する場合、が呼び出されanimationDidFinish
たときにどのオブジェクトがアニメーションを終了したかを知る方法はありますか?animationDidFinish