2009-04-19 6 views
2

Я использую UIImageView для анимации кучи изображений. Я знаю, что я могу изменить скорость, изменив animationDuration, но это, похоже, не вступает в силу до перезапуска анимации.Изменение скорости анимации UIImageView

Моя проблема заключается в том, что на самом деле не нужно перезапускать анимацию, так как это ограничивает меня только возможностью изменять скорость один раз за цикл, также не представляется возможным выяснить, какой кадр в настоящее время отображается, и поэтому мне придется полагаться на таймер, чтобы «угадать», какой он есть.

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

ответ

0

Я не уверен, если это относится к UIImageView суперкласса, но UIView класс имеет следующее свойство, которое по умолчанию в NO:

setAnimationBeginsFromCurrentState:(BOOL)fromCurrentState 

При переходе к YES и вызова метода commitAnimations последующий вызов beginAnimations:context: начнется прямо в точке, где анимация была остановлена ​​раньше.

+0

Я думаю, что он спрашивает, является ли способность UIImageViews циклически проходить через набор изображений как «анимацию», а не ваши традиционные эффекты с поддержкой Core-Animation. –

Смежные вопросы