У меня есть анимация с помощью UIImageView
myAnimatedView.animationImages = myImages;
myAnimatedView.animationDuration = 1;
myAnimatedView.animationRepeatCount = 1;
[myAnimatedView startAnimating];
Как я могу сказать анимации, чтобы остановиться в последнем кадре или быть видимым последним кадром ряда изображений?
Заранее спасибо
После завершения анимации вы можете установить изображение UIImageView на последний кадр вашей анимации.
myAnimatedView.image = [myAnimatedImages objectAtIndex:myAnimatedImages.count - 1]
Я не думаю, что существует метод делегата, который уведомит вас о событии animationFinish, поэтому вам нужно будет запустить NSTimer
с той же продолжительностью, что и анимация, чтобы получить уведомление.
свойство image в классе UIImageView имеет следующую документацию: "Если свойство animationImages содержит значение, отличное от nil, содержимое этого свойства не используется."
Итак, трюк для удержания последнего кадра анимации в iOS4 заключается в том, чтобы сначала установить свойство image на этот последний кадр (пока animationImages все еще nil), затем установить свойство animationImages и вызвать startAnimating. Когда анимация завершится, свойство изображения будет отображено. Обратный вызов/делегат не нужен.