Ich habe eine Situation, in der ich viele CALayers habe, die auf Turn-based-Art animieren. Ich animiere die Position auf jedem dieser CALayers, aber sie haben genau die gleiche Dauer. Sobald alle diese CALayers mit der Animation fertig sind, wird ein neuer "Turn" gestartet und sie animieren erneut den Wechsel der Positionen.Mit Core Animation, gibt es eine Möglichkeit, Animationen für mehrere CALayers zu gruppieren?
Die ganze Idee ist, dass mit einer linearen Interpolation zwischen den Positionen, und mit einer konstanten Geschwindigkeit, ein Turn-basierten Übergang zwischen Staat zu Zustand wie eine Echtzeit-Animation aussieht. Dies ist jedoch mit vielen verschiedenen CALayern schwer zu erreichen.
CAAnimationGroup wird verwendet, um Animationen auf einem einzelnen CALayer zusammenzufassen. Aber ich frage mich, gibt es eine einfache Lösung für Gruppenanimationen, die die gleiche Dauer haben sollen, auf mehreren CALayern zusammen?
Edited eine Antwort auf Kevin Ballard Frage
Mein Problem liegt darin aufzunehmen. Ich erstelle Animationen für jeden meiner CALayers und setze dann diese in ein NSArray. Sobald ich den Rückruf erhalten habe, dass die individuelle Animation beendet ist, entferne ich sie vom NSArray. Sobald es leer ist, erstelle ich wieder Animationen für alle.
Bei mehr als ein paar Layern gibt es eine merkliche Verzögerung zwischen dem Ende aller Animationen und dem Start der neuen Animationen.
Ich stelle mir vor, dass wenn ich alle diese Animationen in einem einzigen gruppieren könnte, könnten viel mehr Schichten ohne eine Verzögerung zwischen den Animationen animiert werden. Dadurch werden die Illusionen einer zusammenhängenden Animation nicht ruiniert.
Ich habe eine Antwort auf diese Frage in der Hauptfrage bearbeitet, da sie hier nicht hineinpasst. –