Je travaille sur une application iPhone/iPad universelle. J'utilise MonoTouch, mais je peux prendre des réponses en Obj-C (je devrais être capable de le déchiffrer, et UIKit de MonoTouch est de 1 à 1 pour la plupart).iPhone/iPad - commutation Les vues causent des problèmes d'orientation
Fondamentalement, mon application dispose de 2 vues: une vue de «connexion» et une vue «connecté». Au démarrage de l'application, mon affichage de connexion est la seule sous-vue de mon UIWindow principal. Après la connexion, j'appelle RemoveFromSuperview sur la vue de connexion et UIWindow.AddSubView pour ajouter la vue connectée. Tout cela fonctionne très bien, et les orientations fonctionnent aussi b/c je réponds à ShouldAutorotateToInterfaceOrientation. Tout jusqu'à ce que vous vous déconnectiez, et que l'orientation commence à être complètement relevée. Sur l'orientation, l'application oriente la barre d'état, mais laisse mes vues intactes. En plus de cela, sur l'iPad mon UISplitView agit très étrange avec ma vue de maître orientée dans un sens et la vue de détail dans l'autre sens.
Quelle est la bonne façon de changer de vue dans une UIWindow? J'ai l'impression que les orientations devraient fonctionner automatiquement, donc je fais quelque chose de mal.
MISE À JOUR:
Voici un extrait de code (en C#, mais vous voyez l'idée):
_loginController.View.RemoveFromSuperView();
_window.AddSubView(_loggedInController.View);
Pour faire l'inverse:
_loggedInController.View.RemoveFromSuperView();
_window.AddSubView(_loginController.View);
Assez simple, non?
MISE À JOUR 2:
J'ai fait simple repro - même inclus un UISplitViewController, et cela fonctionne très bien.
Il doit y avoir quelque chose de spécifique dans mon application qui provoque ce comportement étrange. Si je comprends bien, vous pouvez vérifier l'orientation de la vue avant de charger la nouvelle vue.
Mon vue de connexion n'a pas de vue partagée, alors pourquoi ce problème se poserait-il? C'est une vue assez standard avec nom d'utilisateur/mot de passe et un bouton. De toute façon, je vais donner un coup de feu. – jonathanpeppers
Cela a causé des problèmes étranges similaires, je faisais déjà ce travail d'orientation dans mon UISplitViewController sur ViewDidAppear. Je vais essayer de reproduire cela avec une application de test, et le poster ici. – jonathanpeppers
Vérifiez mon autre réponse, cela peut aider plus ... – gabaum10