CALayer l'opacité de l'animation

Je veux créer un CALayer animation qui donne une sorte de 'flashy' effet. Pour cela, je vais essayer d'animer le 'opacité' bien, mais mon problème est que je n'ai aucune idée par où commencer et comment le faire.

Voici un graphique de l'explication de l'animation:

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

L'opacité commence à 0, puis s'anime à 1, alors 0 (ce qui de 0 à 1 à 0 de l'animation prend un certain nombre de secondes égale à la durée). Ensuite, ce processus est répété 'repeatCount" fois.

Voici quelques informations sur le 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

Quelle est la meilleure façon d'accomplir cette? Je n'ai jamais utilisé CALayers avant, donc c'est aussi une bonne occasion d'apprendre comment leur système d'animation de travaux. En passant, j'ai cherché dans la doc et je comprends comment vous ajoutez un ou deux animations simples, mais je n'ai aucune idée de comment faire cela en particulier.

  • upvote pour le graphique XD
InformationsquelleAutor Alex | 2012-09-16