2011-07-13 21 views
9

¿Es posible detectar que la orientación de la IU está bloqueada o no? Si es así, ¿cómo puedo hacer eso?¿Cómo puedo detectar si la orientación de UI está bloqueada o no en iOS?

Quiero hacer algo con el sensor de gravedad cuando la orientación de UI no está bloqueada.

+0

posible duplicado de [orientación del dispositivo iOS sin tener en cuenta el bloqueo de orientación] (http://stackoverflow.com/questions/4574693/ios-device-orientation-ningregarding-orientation-lock) – CRABOLO

Respuesta

2

Desafortunadamente, no es posible, el sistema operativo maneja el bloqueo y es transparente para la aplicación.

0

¿Por qué no intentar llamar al método shouldAutorotate y ver qué valor BOOL se devuelve?

No he intentado buscar el bloqueo UIOrientation. Pero fuera de mi cabeza, así es como lo probaría.

if([self shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeLeft]) 
    NSLog(@"Rotates LandscapeLeft"); 

if([self shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeRight]) 
    NSLog(@"Rotates LandscapeRight"); 

if([self shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationPortrait]) 
    NSLog(@"Rotates Portrait"); 

if([self shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationPortraitUpsideDown]) 
    NSLog(@"Rotates PortraitUpsideDown"); 

Esperamos que esto resuelve su problema.

+0

Esto no funciona como shouldAutorotate no se llama cuando el bloqueo está habilitado – Yoko

+0

"no debería" funcionar si el bloqueo está habilitado. Si desea conocer la rotación, entonces debe usar UIDeviceOrientation. –

Cuestiones relacionadas