我在想,我只是捕获了起始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
最佳答案
比这容易。使用CMDeviceMotion的attitude
属性。有关文档,请参见here。
关于ios - 如何确定设备的角度?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8690743/