0

为了在拍照时检测手机的方向,我使用

orientation == UIDeviceOrientationLandscapeRight
orientation == UIDeviceOrientationPortraitUpsideDown
orientation == UIDeviceOrientationPortrait
orientation == UIDeviceOrientationLandscapeLeft

但如果照片是从侧面拍摄的,这些就可以了。如何检查 iPhone 是否向下倾斜以平放,例如在拍摄航拍照片时?

4

3 回答 3

4

对于设备方向,它存在其他常量:

typedef enum {
   UIDeviceOrientationUnknown,
   UIDeviceOrientationPortrait,
   UIDeviceOrientationPortraitUpsideDown,
   UIDeviceOrientationLandscapeLeft,
   UIDeviceOrientationLandscapeRight,
   UIDeviceOrientationFaceUp,
   UIDeviceOrientationFaceDown
} UIDeviceOrientation;

你可以在这里找到它们:UIDevice 类参考

于 2010-02-18T11:21:35.990 回答
1

查看必须用于检测设备移动的UIAccelerometer(和)类。编辑:在 UIAccelerometer 类参考中有 3 个相关示例的链接:AccelorometerGraphGLGravityGLPaintUIAccelerometerDelegate

于 2010-02-18T06:54:12.300 回答
0

http://developer.apple.com/iphone上有一个示例应用程序,它可以绘制来自加速度计的原始数据。将其安装在您的设备上,然后查看您获得的数据类型。

示例应用程序带有一个选项(我认为它是“阻尼”),可以有效地抵消重力。您不想这样做 - 事实上,当设备平坦时,重力会在 Z 轴上“加速”您的设备……

于 2010-02-18T07:06:11.683 回答