在拍照时检测手机的方向我使用
orientation == UIDeviceOrientationLandscapeRight
orientation == UIDeviceOrientationPortraitUpsideDown
orientation == UIDeviceOrientationPortrait
orientation == UIDeviceOrientationLandscapeLeft
但如果从侧面拍摄照片,这些工作。如何检查iPhone是否向下倾斜为平坦的,例如拍航拍时?
答案 0 :(得分:4)
它存在于设备方向的其他常量:
typedef enum {
UIDeviceOrientationUnknown,
UIDeviceOrientationPortrait,
UIDeviceOrientationPortraitUpsideDown,
UIDeviceOrientationLandscapeLeft,
UIDeviceOrientationLandscapeRight,
UIDeviceOrientationFaceUp,
UIDeviceOrientationFaceDown
} UIDeviceOrientation;
您可以在此处找到它们:UIDevice Class Reference
答案 1 :(得分:1)
查看必须用于检测设备移动的UIAccelerometer
(和UIAccelerometerDelegate
)类。
修改:在UIAccelerometer类引用中,有3个相关示例的链接:AccelorometerGraph,GLGravity和GLPaint
答案 2 :(得分:0)
http://developer.apple.com/iphone上有一个示例应用程序,用于显示加速度计的原始数据。将其安装在您的设备上,并查看您获得的数据类型。
示例应用程序附带一个选项(我认为它是“阻尼”),可有效抵消重力。你不想这样做 - 事实上,重力是你的设备在Z轴上“加速”它会“加速”...