Как проверить, применяется ли CABasicAnimation и работает ли она уже? - PullRequest
2 голосов
/ 18 сентября 2011

Я создаю CABasicAnimation и применяю его к слою следующим образом:

[rotatedLayer addAnimation:rotationAnimation forKey:@"transform.rotation.z"];

Как проверить, анимируется ли rotatedLayer путь transform.rotation.z?

Ответы [ 2 ]

7 голосов
/ 18 сентября 2011

Проверьте возвращаемое значение [rotatedLayer animationForKey:@"transform.rotation.z"];.

4 голосов
/ 14 марта 2014

Вы можете установить ивар, например:

BOOL _animationRunning;

и установите делегатом для вашей анимации тот класс, в котором вы находитесь, и реализуйте функции:

animationDidStart:(CAAnimation *)anim
animationDidStop:(CAAnimation *)anim finished:(BOOL)flag

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

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