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ć.