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