Pregunta

Usando el iPhone CALayer, quiero una animación de rotación para mi capa de espíritu, pero también quiero una devolución de llamada para el final de la animación, ¿muy bien para eso?

Creo que tal vez debería usar CABasicAnimation, pero no sé cómo hacer la rotación con CABasicAnimation, ¿alguna idea?

Gracias

¿Fue útil?

Solución

Si configura un delegado para un CAAnimation, puede agregar el método de devolución de llamada:

- (void)animationDidStop:(CAAnimation *)theAnimation finished:(BOOL)flag

Eso se llama cuando la animación está completa. Busque ejemplos de animaciones rotativas a través de una matriz de transformación CGAffineTransform, según este enlace:

http://iphonedevelopment.blogspot.com/2008/10/demystifying- cgaffinetransform.html

Otros consejos

Además, también puede hacer el mismo tipo de devolución de llamada para una animación UIView envolviendo su llamada para rotar una UIView en el siguiente bloque de código

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5f];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(rotationAnimationHasFinished:finished:context:)];
// Rotate the view here
[UIView commitAnimations];

y luego definiendo un método de delegado

- (void)rotationAnimationHasFinished:(NSString *)animationID finished:(BOOL)finished context:(void *)context;
{
// Handle the completion of the animation
}

dentro de tu delegado que hará lo que necesites una vez que la animación haya terminado.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top