我有一个使用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"];
最佳答案