Voici ma configuration: un contrôleur de navigation, deux vuesRotation affectant la barre de navigation imprévisiblement
La première vue, le rootview, affiche la barre d'état et la barre de navigation (mode portrait). Lorsque le rootviewController détecte une rotation, il masque la barre de navigation et la barre d'état, puis il pousse la vue 2 sur le contrôleur de navigation (en mode paysage maintenant).
Cette partie fonctionne comme prévu. Lorsque le ViewController View2 détecte la rotation (retour au portrait), il apparaît lui-même du contrôleur de navigation, révélant la vue 1. La vue 1 affiche alors la barre d'état et la barre de navigation. De là, ça devient bizarre. En fonction du moment où j'ouvre la barre de navigation, j'obtiens des résultats étranges. Comme vous pouvez le voir ci-dessous (la photo de bécher devrait être juste au-dessous de la barre de navigation en haut de l'écran).
J'ai essayé démasquage la barre de navigation:
- viewWillRotate/viewDidRotate de vue 2
- viewWillAppear/viewDidAppear de vue 1
- poptoRootView dans le contrôleur de navigation (je sous-classé juste essayer)
Rien ne fonctionne. Une idée de ce qui se passe? Cela devrait être simple, mais peut-être que je fais des choses au mauvais endroit.
Un peu dérouté par cette réponse Quel serait le bon masque de redimensionnement? Je l'ai juste laissé par défaut –
Ceci: http://tinyurl.com/belg95 Cela affecte ce que fait la vue lorsque son aperçu redimensionne. lignes pour affecter la façon dont la position de la vue va changer, et la flèche intérieure affecter la façon dont la vue elle-même sera redimensionnée. Cliquez également sur la flèche de la fenêtre IB pour tester la rotation. –
Pour clarifier mon dernier point: cliquez sur la petite flèche en haut à droite de la barre de titre de la fenêtre dans laquelle vos vues sont disposées.Cela fera une autrotation pour vous et vous pouvez voir comment vous redimensionnez les masques fonctionnent. –