Мы знаем, что UIImageView
имеет очень хорошую поддержку для анимации последовательности изображений. Мы можем легко создать массив объектов UIImage, установить свойство animationImages
, настроить продолжительность анимации, количество повторов и т.д., а затем просто запустить. Но, похоже, нет никакого способа узнать, когда эта анимация закончилась.
Допустим, у меня есть десять изображений, и я хочу запустить с ними анимацию (количество повторов = 1). А когда анимация закончится, я хочу запустить другой код. Как лучше всего узнать, что анимация закончилась?
Я уже понимаю, что могу создать NSTimer
и запланировать его запуск по истечении времени анимации. Но вы действительно не можете полагаться на таймер, если вам нужна хорошая точность.
Итак, мой вопрос: есть ли лучший способ узнать, что анимация последовательности изображений UIImageView
закончилась без использования таймера?
Код выглядит примерно так
myImageView.animationImages = images; // images is a NSArray of UIImages myImageView.animationDuration = 2.0; myImageView.animationRepeatCount = 1; [myImageView startAnimating]