Nella mia app iOS 5 ho un UIButton
personalizzato che ha un globo rosso come immagine. Toccando il pulsante mi piacerebbe che il globo iniziasse a pulsare/sbiadire tra rosso e verde. Ho entrambe le immagini rosse e verdi e può con successo cross-disolve tra i due utilizzando il seguente codice:Animazione looped, reversibile utilizzando Core Animation
CABasicAnimation *imageSwitchAnimation = [CABasicAnimation animationWithKeyPath:@"contents"];
imageSwitchAnimation.fromValue = (id)[UIImage imageNamed:@"red.png"].CGImage;
imageSwitchAnimation.toValue = (id)[UIImage imageNamed:@"green.png"].CGImage;
imageSwitchAnimation.duration = 1.5f;
[self.button.imageView.layer addAnimation:imageSwitchAnimation forKey:@"animateContents"];
Tuttavia, vorrei l'animazione di continuare per sempre (o meglio, fino a quando gli dico di fermarsi) e anche per l'animazione per invertire e loop. In altre parole, dissolvenza rosso -> verde -> rosso e quindi ripetere.
Ho provato a inserire il blocco dell'animazione in un ciclo infinito (insieme a una logica per determinare se la dissolvenza dovrebbe passare dal rosso -> verde o verde -> rosso) ma questo blocca solo l'intera app.
Altre soluzioni sembrano utilizzare Cocos2d, che sembra abbastanza pesante poiché questa è l'unica animazione di cui ho bisogno nell'app (quindi non voglio usare tali framework se non assolutamente necessario).
Qualsiasi aiuto sarebbe molto apprezzato.
Grazie mille - funziona perfettamente! Molto chiaramente spiegato anche :) – Skoota