我创建了一个CABasicAnimation并将其应用于这样的层:
[rotatedLayer addAnimation:rotationAnimation forKey:@"transform.rotation.z"];
如何检查rotateLayer是否已经在transform.rotation.z路径上设置了动画?
答案 0 :(得分:7)
检查[rotatedLayer animationForKey:@"transform.rotation.z"];
的返回值。
答案 1 :(得分:4)
您可以设置如下的ivar:
BOOL _animationRunning;
并将动画的委托设置为您所在的课程并实施这些功能:
animationDidStart:(CAAnimation *)anim
animationDidStop:(CAAnimation *)anim finished:(BOOL)flag
并在这些回调中翻转布尔值。 Ole的方法也可以,但是如果你将beginTime设置为延迟或将动画包装在CAAnimationGroup中以创建延迟(la CAKeyframeAnimation delay before repeating),那么你可以获得animationForKey也会返回该动画即使它实际上并没有动画"。