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クラスリファレンスには、AccelorometerGraph、GLGravity、GLPaintの3つの関連サンプルへのリンクありますUIAccelerometerDelegate

于 2010-02-18T06:54:12.300 に答える
0

http://developer.apple.com/iphoneに、加速度計からの生データをグラフ化するサンプルアプリがあります。デバイスにインストールして、取得するデータの種類を確認してください。

サンプルアプリには、重力を効果的にキャンセルするオプション(「ダンピング」だと思います)が付属しています。あなたはこれをしたくありません-実際、重力は、デバイスが平らなときにZ軸でデバイスを「加速」するものです...

于 2010-02-18T07:06:11.683 に答える