CABasicAnimation を使用して回転する uiimage があります。コンパスの更新を取得すると、画像の開始点を時間オフセットで変更/更新します。
これは正常に機能しますが、コンパスから更新を取得して古いアニメーションを削除すると、新しい開始位置に移動する前に最初に戻ります。これにより、点滅効果が発生します。アニメーションの削除と追加を同時に行うか、何らかの方法でこれを防止する方法はありますか?
これまでの私のコードは以下のとおりです。
[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"];