Domanda

Ho due UIViewControllers, "A" e "B", dove "A" sostituisce la shouldAutorotateToInterfaceOrientation di tornare SÌ per UIInterfaceOrientationPortrait, e restituisce "B" sì per tutti gli orientamenti. Nel mio esempio "A" è il controller della vista di navigazione principale, quindi io uso pushViewController per "B". Dopo di che ho ruotare il dispositivo nel paesaggio, che autorotates con successo "B", quindi ho pop (tasto indietro o via popViewController) per tornare alla "A" "B".

Quando rivolte a iPhone OS 3.1.3, restituisce "A" alla verticale come previsto. Quando rivolte a iPhone OS 3.2, ho due effetti collaterali:

  1. "A" viene visualizzato nel paesaggio.
  2. La barra di navigazione non aggiorna anche se viene ora visualizzato "A". La barra di navigazione mostra ancora le voci di "B". Solo dopo aver tentato di tornare indietro / pop ancora una volta sarà la barra di navigazione animata per mostrare gli elementi di "A". Se io invece tento di spingere "B" di nuovo e tornare indietro, devo pop due volte prima che i Animates barra di navigazione per mostrare le voci di "A". Durante questi "pops intermedie" la vista per resti "A" visualizzato.

Mentre la ricerca di questo problema, ho visto altre risposte suggeriscono di eseguire manualmente la rotazione ([UIDevice setOrientation] o tramite un tranformation), tuttavia questo non aiuta a capire quale sia il problema, soprattutto perché si comporta in modo diverso tra i due OS.

Quindi la mia domanda è: devono tutti i miei UIViewControllers sul sostegno della UINavigationController pila esattamente gli stessi orientamenti per il futuro? E se no, allora c'è qualcosa che ho bisogno di fare per rendere comportarsi come ha fatto per OS 3.1.3?

È stato utile?

Soluzione

Sembrerebbe che le più recenti del sistema operativo richiedono tutti UIViewControllers nella pila UINavigationController per sostenere lo stesso insieme di orientamenti.

Altri suggerimenti

Ho lo stesso problema e ho trovato la risposta su questo link: UINavigationController navigazione pila problemi in modalità orizzontale uno dei miei regolatori di vista non era ritornano YES sul shouldAutorotateToInterfaceOrientation.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top