2011-07-13 13 views
9

È possibile rilevare l'orientamento dell'interfaccia utente è bloccato o non è attualmente? Se è così, come posso farlo?Come posso rilevare se l'orientamento dell'interfaccia utente è bloccato o meno su iOS?

Voglio fare qualcosa con il sensore di gravità quando l'orientamento dell'interfaccia utente non è bloccato.

+0

possibile duplicazione di [orientamento del dispositivo iOS che ignora il blocco dell'orientamento] (http://stackoverflow.com/questions/4574693/ios-device-orientation-disregarding-orientation-lock) – CRABOLO

risposta

2

Purtroppo non possibile, il blocco è gestito dal sistema operativo ed è trasparente per l'app.

0

Perché non provare a chiamare il metodo shouldAutorotate e vedere quale valore BOOL viene restituito?

Non ho provato a cercare il blocco UIOrientation. Ma in cima alla mia testa, è così che ci proverei.

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"); 

Speriamo che questo risolva il problema.

+0

Questo non funziona come shouldAutorotate non viene chiamato quando il blocco è abilitato – Yoko

+0

, "non dovrebbe" funzionare se il blocco è abilitato. Se vuoi conoscere la rotazione, dovresti utilizzare UIDeviceOrientation. –

Problemi correlati