2012-11-18 18 views
14

L'app per iPhone non risponde quando viene avviata su un iPad in modalità orizzontale.non risponde dopo l'avvio con orientamento orizzontale su iPad

Se si avvia in modalità verticale, tutto funziona correttamente. Nell'orientamento orizzontale nulla funziona finché non viene ruotata l'app o viene premuto il pulsante 1x 2x.

Ho provato a eseguire il debug dell'applicazione con i punti di interruzione e di passaggio attraverso il codice ma mostra che l'app è in esecuzione normalmente nella console di debug.

+0

Oltre agli "orientamenti di interfaccia supportati", Greg Hewgill e io abbiamo anche scoperto che nascondere la barra di stato durante il lancio risolverà anche questo. Non ha senso per me, ma entrambi funzionano. Vedi la mia risposta aggiornata. – Rob

risposta

12

Ho scoperto che questo è univoco per i dispositivi iOS 6, ma se si rimuovono tutte le voci sotto "Orientamento interfaccia supportato" nel plist dell'app, questo problema scompare. Oppure, se si seleziona l'opzione "Nascondi durante l'avvio di applicazioni" per le impostazioni "barra di stato" nella schermata di riepilogo delle impostazioni di destinazione, questo risolve anche:

hide during application launch

Non c'è nessuna ragione logica che posso vedere che una di queste opzioni dovrebbe risolvere, ma entrambi lo fanno.

Se si utilizzano le impostazioni di orientamento supportate in iOS 6, è comunque possibile controllare a livello di programmazione gli orientamenti di interfaccia consentiti tramite supportedInterfaceOrientations (o in iOS 5, è ancora possibile utilizzare il metodo shouldAutorotateToInterfaceOrientation:).

+3

Sembra un bug di iOS 6 e l'ho segnalato tramite http://bugreport.apple.com. – Rob

+0

Wow, grazie per la risposta –

+3

Questo sembra funzionare. Assicurati solo di mostrare la barra di stato in didFinishLaunchingWithOptions: '[[Applicazione condivisa UIA] setStatusBarHidden: NO withAnimation: UIStatusBarAnimationNone];' –

2

Sembra che aggiungere [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone]; all'inizio di didFinishLaunchingWithOptions: la funzione fa il trucco. Non è necessario modificare il file delle impostazioni plist.

+0

+1. Questo ha funzionato per me e penso sia una soluzione migliore. Sicuramente più robusto, soprattutto dal momento che puoi inserire un commento spiegando perché hai fatto quella scelta. –

Problemi correlati