2009-04-09 14 views
1

j'ai deux ViewController une orientation de support un autre pas, mais quand je tourne dans la deuxième ViewController (celui qui supporte l'orientation) de paysage et de retour à la première ViewController (ne supporte pas l'orientation) en attendant seconde vue encore rester paysage il va changer la première vue devenir paysage aussi bien mais il ne doit pas être paysage alors que d'abord ViewController n'est pas l'orientation de soutien, comment puis-je empêcher cela?paysage NavigationController et portrait

La chose que je veux est la première vue sera toujours portrait, peu importe comment vous faites pivoter le téléphone en particulier lorsque vous revenez de la deuxième vue et il était en paysage.

Répondre

0

dans viewWillAppear:Animated de votre premier contrôleur, appelez

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait]; 

Et bien sûr, mis en place le shouldAutorotateToInterfaceOrientation revenir OUI uniquement sur UIInterfaceOrientationPortrait.

+0

cela ne fait que ramener l'appareil à potrail mais ma vue était encore dans le paysage, d'une autre façon? – issac

+0

Vous devez vous assurer que le bon contrôleur de vue reçoit les événements de rotation. Parfois, l'ajout d'un contrôleur de vue entraînera la réception d'événements même après l'avoir supprimé; En outre, je sais qu'avec au moins TabBarViewControllers, il n'envoie pas d'événements de rotation à ses enfants, vous devez donc le remplacer. –

+0

Je pense que Ed signifiait [[UIDevice currentDevice] setOrientation: UIInterfaceOrientationPortrait]; source ci-dessus est seulement changer l'orientation de la barre d'état pas les vues. –

-1

dans viewWillAppear: Animé de votre premier contrôleur, appelez [[UIDevice currentDevice] setOrientation: UIInterfaceOrientationPortrait];