- (void)viewDidLoad
{
[super viewDidLoad];
UIImageView * ima = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"2.png"]];
ima.frame = CGRectMake(0, 0, 200, 200);
ima.center = self.view.center;
[self.view addSubview:ima];
_imageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"3.png"]];
_imageView.backgroundColor = [UIColor clearColor];
_imageView.frame = CGRectMake(0, 0, 35, 200);
_imageView.center = ima.center;
[self.view addSubview:_imageView];
[_imageView release];
self.locatioManager = [[CLLocationManager alloc]init];
self.locatioManager.delegate = self;
//判断传感器是否可用
if ([CLLocationManager headingAvailable]) {
//设置精度
self.locatioManager.desiredAccuracy = kCLLocationAccuracyBest;
//设置滤波器不工作
self.locatioManager.headingFilter = kCLHeadingFilterNone;
//开始更新
[self.locatioManager startUpdatingHeading];
}
// Do any additional setup after loading the view.
}
- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading{
//每次要重置view的位置,才能保证图片每次偏转量正常,而不是叠加,指针方向正确
_imageView.transform = CGAffineTransformIdentity;
CGAffineTransform transform = CGAffineTransformMakeRotation(-1 * M_PI * newHeading.magneticHeading/180.0);
// CGAffineTransform transform = CGAffineTransformMakeTranslation(10, 50);
_imageView.transform = transform;
}