我正在尝试制作指南针。
基本上,我使用指南针的图像作为指南针的方向。在我切换视图或添加另一个视图(例如 UIActionView 或切换到另一个视图控制器)之前,它在指南针的中心周围动画效果很好:
- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading{
float oldRadian = (-manager.heading.trueHeading *M_PI /180.0f);
float newRadian = (-newHeading.trueHeading *M_PI /180.0f);
CABasicAnimation *animation;
animation=[CABasicAnimation animationWithKeyPath:@"transform.rotation"];
animation.fromValue = [NSNumber numberWithFloat:oldRadian];
animation.toValue = [NSNumber numberWithFloat:newRadian];
animation.duration = 0.5f;
[compassArrow.layer addAnimation:animation forKey:@"animateMyRotation"];
compassArrow.transform = CGAffineTransformMakeRotation(newRadian);
}
在此之后,我将切换到另一个视图控制器,即 compassArrow 图像视图,它正在动画并开始浮动。
任何想法为什么会发生这种情况?