iPhone - 如何旋转罗盘为北磁头

时间:2011-09-27 07:01:23

标签: iphone objective-c ios core-location

我有一个指南针/图像,指针始终指向北方。

我使用以下条件声明旋转罗盘针/拨盘:

  double heading = newHeading.magneticHeading;

    if( heading >= 0.0 && heading <= 23.0) {

            needleView.transform=CGAffineTransformMakeRotation(heading); 

            NSLog(@"N");
            currentDirLabel.text = @"N";

        }

我想知道是否有人知道如何旋转needleView以始终指向North。

这是我用来旋转needleView UIView的代码:

- (void)rotateImage:(UIImageView *)image duration:(NSTimeInterval)duration 
              curve:(int)curve degrees:(CGFloat)degrees
{
    // Setup the animation
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:duration];
    [UIView setAnimationCurve:curve];
    [UIView setAnimationBeginsFromCurrentState:YES];

    // The transform matrix
    CGAffineTransform transform = 
    CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(degrees));
    image.transform = transform;

    // Commit the changes
    [UIView commitAnimations];
}

澄清:随着磁头的变化,UIView(needleView)正在旋转。我希望始终将图像锁定在Northerly方向(在这种情况下是北针的图像部分)

感谢您的帮助。

1 个答案:

答案 0 :(得分:-1)

这本书:Oreilly.Basic.Sensors.in.iOS.Jul.2011帮助我解决了这个问题。