2011-12-31 22 views
6

Sadece başlangıç ​​UIAcceleration y değerini yakaladığımı ve şimdiki değerle karşılaştırdığımı ve sonra 'ölçmeyi' düşündüğümü düşünüyorum ama tam olarak (1) doğru (2) bu matematiğin ne olması gerektiğini bilmiyorum.Cihazın açısını nasıl belirleyebilirim?

Yardımlarınız için teşekkür ederiz.

Güncelleme: İşte

jrturton önerdiği gibi kullandığım koddur.

#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 

cevap

4

Bundan daha kolay. CMDeviceMotion'ın attitude özelliğini kullanın. Belgeler için bkz. here.

+0

Teşekkürler, çalışıyorum. Orijinal soruda kod eklenecek. – cynicaljoy

İlgili konular