Question

J'ai un projet assez lourd, où je chargeais quelques contrôleurs de vue, l'un après l'autre. Tout d'abord, un écran d'accueil, suivi d'un système de menus, et lorsque l'utilisateur clique sur le menu, il passe par un contrôleur de vue de l'article.

Mettre tout cela avec shouldAutorotate ... réglé sur OUI pour toutes les rotations, cela fonctionne très bien. Cependant, j'ai une barre de menu, je dois glisser vers le bas sur le dessus quand un geste du robinet a été reconnu. J'ai une pour le menu principal, et un pour la vue de l'article.

Si je mets un de ces en, il reste automatique tourne bien. Cependant, dès que je mets la suivante dans, la rotation automatique cesse de fonctionner. Je l'ai essayé de mettre les barres de menu dans le délégué de l'application, ainsi que les imbriquant dans les contrôleurs de vue Menu / article. Le contrôleur de vue de la barre de menu a également shouldAutorotate ... YES. En fait, chaque contrôleur de vue dans le projet (les 7 d'entre eux) l'ont mis sur YES. Et pourtant, quand j'ajouter mon deuxième contrôleur de barre de menus, il arrête automatiquement la rotation. Il ne déclenche même pas la méthode « shouldAutorotate » pour lui demander.

Le code est trop grand pour poster ici, mais si vous voulez voir quelque chose en particulier, puis il suffit de demander. Je suis totalement perplexe! Je suis sur le point de tirer les barres de menu de leur contrôleur de vue et les coder dans chacun des contrôleurs vue individuellement. Ce sera une quantité hideuse de duplication de code, mais je ne peux pas penser à une autre façon autour d'elle!

Toutes les idées? Merci!

Était-ce utile?

La solution

La réponse semble être ... Ne pas mettre les contrôleurs de vue dans les autres contrôleurs de vue! Un point de vue contrôleur = un écran, semble être la règle. J'ai beaucoup à apprendre!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top