CALayer Deckkraftanimation

Ich möchte eine CALayer-Animation erstellen, die einen auffälligen Effekt erzeugt. Dafür versuche ich, die Eigenschaft 'opacity' zu animieren, aber mein Problem ist, dass ich keine Ahnung habe, wo ich anfangen soll und wie ich es machen soll.

Hier ist eine grafische Erklärung der Animation:

opacity
   |    ___
1  |   |   |
   |   |   |    * repeatCount
0  |___|   |_ . . .
   -------------------------> time
    |______|
    duration

Die Deckkraft beginnt bei 0, wird dann zu 1 und dann wieder zu 0 animiert (diese 0-zu-1-zu-0-Animation benötigt eine Anzahl von Sekunden, die der Dauer entspricht). Dann wird dieser Vorgang 'repeatCount' mal wiederholt.

Hier einige Hintergrundinformationen zum Code:

float duration = ...; // 0.2 secs, 1 sec, 3 secs, etc
int repeactCount = ...; // 1, 2, 5, 6, ect

CALayer* layer = ...; // I have a CALayer from another part of the code
layer.opacity = 0;

// Animation here

done = YES; // IN THE END of the animation set this ivar to yes

Was ist der beste Weg, um dies zu erreichen? Ich habe CALayers noch nie benutzt, daher ist dies auch eine gute Gelegenheit, um zu lernen, wie ihr Animationssystem funktioniert. Übrigens habe ich die Dokumente durchsucht und verstehe, wie Sie eine oder zwei einfache Animationen hinzufügen, aber ich habe keine Ahnung, wie Sie diese bestimmte Animation ausführen sollen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage