0

可能重复:
取消 UIView 动画?

我需要停止 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");
    }];

对象成分将具有动画完成后的帧。相反,我希望对象在特定点停止,而动画不完整。

4

1 回答 1

1

如果您想暂停,但不打算重新开始,请尝试:

CALayer *objectPresentationLayer = [object.layer presentationLayer];
object.layer.transform = objectPresentationLayer.transform;
[object.layer removeAllAnimations];

如果您想暂停和恢复动画,请从 Apple 问答中查看: https ://developer.apple.com/library/ios/#qa/qa2009/qa1673.html

于 2012-10-30T18:05:00.083 回答