iPhone: лучший способ определить конец анимации последовательности изображений UIImageView

Мы знаем, что UIImageView имеет очень хорошую поддержку для анимации последовательности изображений. Мы можем легко создать массив объектов UIImage, установить свойство animationImages , настроить продолжительность анимации, количество повторов и т.д., а затем просто запустить. Но, похоже, нет никакого способа узнать, когда эта анимация закончилась.

Допустим, у меня есть десять изображений, и я хочу запустить с ними анимацию (количество повторов = 1). А когда анимация закончится, я хочу запустить другой код. Как лучше всего узнать, что анимация закончилась?

Я уже понимаю, что могу создать NSTimer и запланировать его запуск по истечении времени анимации. Но вы действительно не можете полагаться на таймер, если вам нужна хорошая точность.

Итак, мой вопрос: есть ли лучший способ узнать, что анимация последовательности изображений UIImageView закончилась без использования таймера?

Код выглядит примерно так

myImageView.animationImages = images; // images is a NSArray of UIImages
myImageView.animationDuration = 2.0;
myImageView.animationRepeatCount = 1;

[myImageView startAnimating]
8
задан jszumski 3 May 2013 в 17:02
поделиться