A un certo punto della mia applicazione, vorrei disattivare temporaneamente la funzione di rotazione - "bloccare" in modo efficace l'orientamento nel codice, simile a quello che l'interruttore di blocco fa sull'iPad in hardware.Come bloccare temporaneamente l'orientamento dell'iPad/iPhone
Attualmente sto facendo:
[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications]
e quando avrò finito, mi chiama:
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]
Anche se questo sembra tutti a lavorare, la documentazione API indica che ci dovrebbe essere sempre un iniziare seguito da un fine - e lo sto facendo essenzialmente al contrario. Esiste un'API più appropriata per gestire l'orientamento del blocco?
Grazie - funziona alla grande! – Eric
Questo è ciò che sto facendo ora, ma c'è un limite: Ad esempio If I ** 0. ** Il dispositivo e il controller di visualizzazione sono in modalità verticale. ** 1. ** ruotare il dispositivo su (diciamo) paesaggio (anche il controller della vista ruota), ** 2. ** rotazione del blocco. ** 3. ** Ruota il dispositivo in verticale (il controller della vista non ruota in questo caso, che va bene). ** 4. ** quindi sblocca la rotazione, quindi UIViewController non si aggiorna in verticale. Devo ruotarlo di nuovo per ottenere sopra il metodo chiamato :( – nacho4d
In questo caso basta ascoltare la gravità dell'accelerometro e regolarsi di conseguenza – slf