コンパスを作ろうとしています。
基本的に、コンパスの方向として、コンパスの針のイメージを使用します。ビューを切り替えるか、別のビューを追加するまで(たとえば、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);
}
この後、私は別のView Controllerに切り替えています.compassArrow imageviewは、アニメーション化され、浮かび始めました。
なぜこれが起こるのか考えはありますか??