我需要停止UIView动画。我知道我可以使用[object.layer removeAllAnimations];
但这不会停止动画,但是“跳过”它。所以,如果我的原始动画是:
[UIView animateWithDuration:8.0 delay:0.0 options:UIViewAnimationOptionAllowUserInteraction animations:^ (void) {
[ingredient setFrame:CGRectMake(20, 200, 34, 45)];
} completion:^ (BOOL finished) {
NSLog(@"Completed");
}];
对象成分将具有动画完成后的帧。相反,我希望对象在特定点停止,而动画不会完成。
答案 0 :(得分:1)
如果您想暂停,但不打算重新开始,请尝试:
CALayer *objectPresentationLayer = [object.layer presentationLayer];
object.layer.transform = objectPresentationLayer.transform;
[object.layer removeAllAnimations];
如果您想暂停和恢复动画,请从Apple Q& A中查看: https://developer.apple.com/library/ios/#qa/qa2009/qa1673.html