iPhone - Как повернуть компас для North MagneticHeading - PullRequest
0 голосов
/ 27 сентября 2011

У меня есть компас / изображение, где стрелка всегда должна указывать на север.

У меня есть стрелка компаса, вращающаяся с использованием следующего условного утверждения:

  double heading = newHeading.magneticHeading;

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

            needleView.transform=CGAffineTransformMakeRotation(heading); 

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

        }

Мне было интересно, знает ли кто-нибудь, как я буду вращать needleView, чтобы всегда указывать на север.1006 *

Вот код, который я использую, чтобы вращать 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) вращается при изменении Magnheeading.Я ищу всегда блокировать изображение в северном направлении (в данном случае это часть изображения с северной стрелкой)

спасибо за любую помощь.

1 Ответ

0 голосов
/ 27 сентября 2011

эта книга: Oreilly.Basic.Sensors.in.iOS.Jul.2011 помогла мне решить эту проблему.

...