如何确定设备的角度?

时间:2011-12-31 21:51:52

标签: ios

我认为我只是捕获起始UIAcceleration y值并将其与当前值进行比较然后'测量'但我不确切知道(1)是否正确(2)该数学应该是什么

感谢您的帮助。

更新

以下是jrturton建议使用的代码。

#import "ViewController.h"

@interface ViewController()
{
  CMMotionManager *motionManager;
}
@end

@implementation ViewController
@synthesize angleLabel;

- (void)startMotion
{
  if (motionManager == nil)
  {
    motionManager = [[CMMotionManager alloc] init];
  }
  motionManager = [[CMMotionManager alloc] init];
  [motionManager startDeviceMotionUpdatesToQueue:[NSOperationQueue currentQueue] withHandler:^(CMDeviceMotion *motion, NSError *error) {
    angleLabel.text = [NSString stringWithFormat:@"%g", motion.attitude.pitch];
  }];
}

- (void) stopMotion
{
  if (motionManager)
  {
    [motionManager stopDeviceMotionUpdates];
  }

  motionManager = nil;
}

- (void)viewDidUnload {
    [self setAngleLabel:nil];
    [super viewDidUnload];
}
@end

1 个答案:

答案 0 :(得分:4)

比这更容易。使用CMDeviceMotion的attitude属性。有关文档,请参阅here