2012-10-05 5 views
2

Mon application pour iPad contient une vue unique dans l'application prenant en charge le mode paysage.Forcer l'application iPad à lancer en mode portrait lorsque le mode paysage est pris en charge

Pour le shouldAutorotateToInterfaceOrientation à ce point de vue à appeler je devais déclarer dans le info.plist que le paysage est pris en charge.

Problème:

Le UITabController qui apparaît lorsque l'application est lancée ne prend pas en charge le mode paysage et je me suis assuré de le spécifier dans tout contrôleur de vue de la barre d'onglets. Cependant, lorsque l'application est lancée alors que l'appareil est en mode paysage, le tabcontroller est affiché en mode paysage et tous les onglets sont déformés.

Réglage de la info.plist pour supporter le mode portrait seulement force l'application à lancer correctement, mais la shouldAutorotateToInterfaceOrientation est ignoré sur le viewcontroller rotatif.

Une autre option que j'ai essayé lors de son lancement est:

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait]; 

qui ont forcé en fait l'application d'afficher en mode portrait, mais également l'application ignorer une autre rotation de l'appareil sur le viewcontroller rotatif.

Mise à jour: C'est un problème iOS6 et ne peuvent être repérés sur le simulateur

Répondre

2

Cocher cette iOS 6 rotations: supportedInterfaceOrientations doesn´t work?

Vous devez sous votre TabBarController et passer outre son shouldAutorotateToInterfaceOrientation pour contrôler la façon dont cette ViewController s'oriente.

+2

Sur place! c'est un problème iOS6 seulement (DOH) .J'ai déjà sous-classé mon onglet mais _shouldAutoRotateToInterfaceOrientation_ n'a pas affecté. Dans iOS6 _shouldAutorotate_ devrait retourner YES et _supportedInterfaceOrientations_ devrait retourner portrait. En outre, que 70% de l'histoire, pour que la barre d'état s'aligne avec l'orientation prise en charge s'assure que vous utilisez '[window setRootViewController: tabBarController]' est utilisé si vous manipulez du code hérité, comme [suggéré ici] (http://stackoverflow.com/a/12507408/319885). – Aviel

+0

Résolu mon problème aussi - merci beaucoup! – mccrackend

+0

@CSmith, bro pourriez-vous s'il vous plaît jeter un oeil à mon problème https://stackoverflow.com/questions/46127376/rotating-only-affect-one-time-in-ipad-in-swift-3? –

Questions connexes