Animacja krycia CALayer

Chcę stworzyć animację CALayer, która daje efekt „błyskotliwy”. W tym celu próbuję animować właściwość „krycia”, ale moim problemem jest to, że nie mam pojęcia, od czego zacząć i jak to zrobić.

Oto graficzne wyjaśnienie animacji:

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

Krycie zaczyna się od 0, a następnie animuje do 1, a następnie ponownie do 0 (ta animacja od 0 do 1 do 0 zajmuje liczbę sekund równą czasowi trwania). Następnie ten proces powtarza czasy „repeatCount”.

Oto kilka informacji na temat kodu:

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

Jaki jest najlepszy sposób, aby to osiągnąć? Nigdy wcześniej nie korzystałem z CALayers, więc jest to również dobra okazja, aby dowiedzieć się, jak działa ich system animacji. Nawiasem mówiąc, przeszukałem dokumenty i rozumiem, jak dodajesz jedną lub dwie proste animacje, ale nie mam pojęcia, jak to zrobić.

questionAnswers(2)

yourAnswerToTheQuestion