En mi aplicación iOS 5 tengo un UIButton
personalizado que tiene un orbe rojo como imagen. Cuando se toca el botón, me gustaría que el orbe comience a pulsar/desvanecerse entre rojo y verde. Tengo dos imágenes rojas y verdes y puedo éxito cruzada disolver entre los dos usando el siguiente código:Animación en bucle, reversible con 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"];
Sin embargo, me gustaría que la animación continuará para siempre (bueno, hasta que me diga que se detenga) y también para la animación para invertir y repetir. En otras palabras, desvanezca rojo -> verde -> rojo y luego repita.
Intenté poner el bloque de animación arriba en un bucle infinito (junto con cierta lógica para determinar si el desvanecimiento debería pasar de rojo -> verde o verde -> rojo) pero esto simplemente bloquea toda la aplicación.
Otras soluciones parecen usar Cocos2d, que parece bastante pesado, ya que esta es la única animación que necesito en la aplicación (por lo que no quiero utilizar tales marcos a menos que sea absolutamente necesario).
Cualquier ayuda sería muy apreciada.
Muchas gracias, ¡esto funciona a la perfección! Muy claramente explicado también :) – Skoota