我如何在Objective-C中使用加速度计/陀螺仪才能确定是否...

A)iPhone刚好握在用户的脸前,即“举起”或

B)例如,iPhone已放在桌子上,即显示屏朝上。

最佳答案

首先符合<UIAccelerometerDelegate>,然后可以使用以下方法:

    #pragma mark --- Acceleration Start and Stop ----------------------------

    -(void)startMeasuringAcceleration{

        NSLog(@"Started Measuring Acceleration");

        [[UIAccelerometer sharedAccelerometer] setUpdateInterval:1];//update interval (1s at moment)
        [[UIAccelerometer sharedAccelerometer] setDelegate:self];

    }

    -(void)stopMeasuringAcceleration{

        [[UIAccelerometer sharedAccelerometer] setDelegate:nil];

    }

    #pragma mark UIAcceleromete Delegate Methods-----------------------------------------------

    - (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration{

        NSLog(@"%f, %f, %f, %f", acceleration.x, acceleration.y, acceleration.z, acceleration.timestamp);

}


测量X,Y和Z。Z是屏幕上的轴,Y从上到下,X从左到右。

在viewDidLoad中调用[self startMeasuringAcceleration]开始

希望能有所帮助。

关于objective-c - iPhone“向上”持有或躺在 table 上,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13606202/

10-11 06:28