Sabemos que UIImageView
tiene un soporte muy bueno para la animación de secuencia de imágenes. Podemos crear fácilmente una matriz de objetos UIImage, establecer la propiedad animationImages
, configurar la duración de la animación, repetir el conteo, etc. y luego simplemente disparar. Pero parece que no hay forma de saber cuándo ha terminado esta animación.iPhone: la mejor manera de detectar el final de la animación de secuencias de imágenes UIImageView
Digamos que tengo diez imágenes y luego quiero ejecutar una animación (repetir conteo = 1) con ellas. Y cuando termine la animación, quiero ejecutar otro código. ¿Cuál es la mejor manera de saber que la animación ha terminado?
Ya entiendo que puedo crear un NSTimer
y programarlo para que se active después de la duración de la animación. Pero realmente no puede confiar en el temporizador si necesita una buena precisión.
Así que mi pregunta es, ¿hay alguna forma mejor de saber que una animación de secuencia de imágenes UIImageView
ha finalizado sin usar el temporizador?
El código es algo como esto
myImageView.animationImages = images; // images is a NSArray of UIImages myImageView.animationDuration = 2.0; myImageView.animationRepeatCount = 1; [myImageView startAnimating]
editado con algún código de muestra – taskinoor
¿Has probado usar un temporizador? Es cierto que el tiempo no es 100% exacto, pero AFAIK tampoco puede confiar en el tiempo de otras animaciones. No me sorprendería si la animación UIImageView incorporada usa un temporizador en sí mismo. –
ya he probado el cronómetro. de hecho, esto es lo que estoy usando en este momento. esto está bien para muchos casos, pero bueno ... no 100% :-) – taskinoor