2011-04-18 11 views
3

現在、CAKeyframeAnimationを使用して30秒間パスに沿ってpngイメージを移動しています。ボタンをタップして0〜30秒の間にこの動画を停止する方法はありますか?中にCAKeyframeAnimationを停止する

答えて

5

これは

[yourView.layer removeAllAnimations]; 
+0

受信機がNSWindowの場合はどうすればいいですか? NSWindowsはremoveAllAnimationsを提供しません。残念ながら。 – Raffael

+0

NSWindowはOSX SDKのものであり、iOS SDKのものではありません。 – guillaume

1

は、あなたがさて...あなたはアニメーションを停止するか、またはあなたは単に再開/一時停止したい?

[view.layer removeAnimationForKey:kFrameAnimationKey]; 
2

を試してみました...アニメーションを削除しますか一時停止したい場合は、次のようなものがあります。

func pause(){ 
    pausedTime = foo.layer.convertTime(CACurrentMediaTime(), fromLayer: nil) 
    foo.layer.speed = 0 
    foo.layer.timeOffset = pausedTime! 
} 
func play(){ 
    pausedTime = foo.layer.timeOffset 
    foo.layer.speed = 1.0 
    foo.layer.timeOffset = 0 
    let timeSincePause = foo.layer.convertTime(CACurrentMediaTime(), fromLayer: nil) - pausedTime! 
    foo.layer.beginTime = timeSincePause 
} 
関連する問題