Detectar o dispositivo iPhone é plana

votos
0

Para detectar a orientação do telefone quando tirar uma fotografia que eu uso

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

Mas estes funcionar se a foto está sendo tirada do lado. Como posso verificar se o iPhone é inclinado para baixo, para ser, por exemplo plana quando tirar uma foto aérea?

Publicado 18/02/2010 em 07:45
fonte usuário
Em outras línguas...                            


3 respostas

votos
4

Existe outro constante para a orientação do dispositivo:

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

Você pode encontrá-los aqui: UIDevice Classe Referência

Respondeu 18/02/2010 em 12:21
fonte usuário

votos
1

Ter um olhar para UIAccelerometer(e UIAccelerometerDelegateclasses) que devem ser utilizados para detectar movimentos do dispositivo.
Edit: Em referência de classe UIAccelerometer Lá estão links para 3 amostras relacionadas: AccelorometerGraph , GLGravity e GLPaint

Respondeu 18/02/2010 em 07:54
fonte usuário

votos
0

há um aplicativo de exemplo em http://developer.apple.com/iphone que representa graficamente os dados brutos do acelerômetro. Instalá-lo no seu dispositivo, e ter um olhar para o tipo de dados que você começa.

O aplicativo de exemplo vem com uma opção (eu acho que é "amortecimento") que cancela eficazmente a gravidade. Você não quer fazer isso - na verdade, a gravidade é o que vai "acelerar" o seu dispositivo no eixo Z quando é plana ...

Respondeu 18/02/2010 em 08:06
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more