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 Q&A からこれを確認してください: https://developer.apple.com/library/ios/#qa/qa2009/qa1673.html

于 2012-10-30T18:05:00.083 に答える