Изменение скорости анимации UIImageView - PullRequest
2 голосов
/ 19 апреля 2009

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

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

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

1 Ответ

0 голосов
/ 19 апреля 2009

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

setAnimationBeginsFromCurrentState:(BOOL)fromCurrentState

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...