Question

Pour détecter l'orientation du téléphone lorsque vous prenez une photo que j'utilise

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

Mais ces travaux si l'image est prise du côté. Comment puis-je vérifier si l'iPhone est incliné vers le bas pour être, par exemple plat lors de la prise d'une photo aérienne?

Était-ce utile?

La solution

Il existe d'autres constante pour l'orientation de l'appareil:

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

Vous pouvez les trouver ici: UIDevice Référence de la classe

Autres conseils

Jetez un oeil à des cours UIAccelerometer (et UIAccelerometerDelegate) qui doivent être utilisés pour détecter les mouvements de l'appareil.
Modifier En ce qui concerne la classe UIAccelerometer liens Il es à 3 échantillons liés: AccelorometerGraph , GLPaint

il y a un exemple d'application sur http://developer.apple.com/iphone graphiques premières les données de l'accéléromètre. Installez-le sur votre appareil, et regarder le genre de données que vous obtenez.

L'exemple d'application est livré avec une option (je pense qu'il est « d'amortissement ») qui annule efficacement la gravité. Vous ne voulez pas le faire - dans la gravité des faits est ce qui va « accélérer » votre appareil dans l'axe Z quand il est plat ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top