2012-05-11 12 views
3

私はCABasicAnimationを使って回転するui画像を持っています。コンパスのアップデートを取得すると、イメージの開始点が時間オフセットで変更/更新されます。CABasicAnimationを回転中に修正する

これはうまくいきますが、コンパスからアップデートを取得して古いアニメーションを削除すると、新しい開始位置に移動する前にジャンプして開始位置に戻ります。これにより、点滅効果が生じます。アニメーションを同時に削除して追加するか、これが何らかの形で起こらないようにするには離れていますか?

これまでのコードは以下のとおりです。

[self.waveImage.layer RemoveAllAnimations]; 

CABasicAnimation* animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"]; 
animation.fromValue = [NSNumber numberWithFloat:0.0]; 
animation.toValue = [NSNumber numberWithFloat:2.0 * M_PI]; 
animation.duration = 1.0; 
animation.repeatCount = HUGE_VALF; // Repeat forever   
animation.speed = 1.0/duration; 
animation.timeOffset = startingPhase; 
animation.fillMode = kCAFillModeForwards; 

[self.waveImageView.layer addAnimation:animation forKey:@"transform.rotation.z"]; 

答えて

0

を見ることができるが、これを試してみてください。

  • fromValueを削除します。あなたは場合、fromValueを指定しない場合は、それがアニメーションの 現在の値を使用しています

    はtimePhaseを削除します。新しい変更を からアニメーション化したいとします。 timePhaseはアニメーションをシフトさせます。

    リピート回数を使用しないでください。これにより、アニメーションが から始まり、終了して戻って繰り返されます。

    はNO = animation.removedOnCompletionを追加します。

関連する問題