我有一个基本的iPhone旋转动画。有没有办法“暂停”动画以便保持视图的位置?我猜做到这一点的一种方法是让动画“完成”而不是在其上调用“remove”,我该如何做到这一点?
CABasicAnimation* rotationAnimation;
rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
rotationAnimation.toValue = [NSNumber numberWithFloat: M_PI * 2];
rotationAnimation.duration = 100;
rotationAnimation.cumulative = YES;
rotationAnimation.repeatCount = HUGE_VALF;
rotationAnimation.removedOnCompletion = NO;
rotationAnimation.fillMode = kCAFillModeForwards;
[myView.layer addAnimation:rotationAnimation forKey:@"rotationAnimation"];
timeOffset
和beginTime
呢? - efimovdklayer.speed = 1.0
时才能可靠地工作。将其设置为任何其他值(例如,与原始动画速度匹配)会导致“恢复”不自然地跳转。 - David James