Dispositif de détection de l'iPhone est plat
-
21-09-2019 - |
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?
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 ...