2011-07-13 3 views
6

Bonjour Tous J'ai un problème avec le contrôleur actuel. Voici le scénario:PresentModel View Contrôleur Problème

  1. C'est une application de la barre de navigation, j'ai une classe UIViewController où j'ajoute une autre classe de UIView Controller en utilisant cette déclaration [self.view addSubView:controllerClass]; Dans controllerClass, j'ai une barre d'onglets en bas et j'écris ses délégués sur chaque barre d'onglets. Je vais ajouter une autre classe UIViewController comme sous-vue mais je vais faire la hauteur ou le cadre de ce contrôleur. (0,0,320,369). de sorte que la barre d'onglets montré à travers lorsque nous cliquons sur différents onglets.

  2. En cliquant sur le premier onglet, dites ScannerViewController ajouter une sous-vue. Il y a un bouton de galerie dans cette vue. Lorsque l'utilisateur clique sur le bouton PresentModel View Controller Insert et masque la barre de navigation lorsque je sélectionne l'image de la galerie et que la barre de navigation est hidden =NO, cela ne fonctionne pas et la barre d'onglets en bas a disparu.

+0

Le modalviewcontroller dispose d'une barre de navigation par défaut et ne peut être utilisé qu'avec des applications basées sur la navigation. Sinon, pour les applications normales et les applications basées sur les onglets, la coordonnée y des objets sur l'écran sera affectée. C'est la barre de navigation qui vient avec le contrôleur modalview prendra une place en déplaçant le tabBar vers le bas. – booleanBoy

+0

Et de plus, vous devez lancer la sous-vue (controllerclass) avec la barre d'onglets (ne doit pas l'ajouter manuellement), ce qui en fait un contrôleur de vue basé sur les tabulations. – booleanBoy

+0

J'ajoute tabBar en utilisant interfaceBuilder et rend les tailles de contrôleurs qui insèrent sur tabclick est (0,0,320,369) – dark

Répondre

3

Il semble que vous abusiez de la construction de la barre d'onglets. Chaque onglet de la barre d'onglets devrait avoir son propre UINavigationController plutôt que de partager un contrôleur par onglet.

Aussi, dans mon expérience, il est préférable de présenter le contrôleur de vue modale en utilisant la vue de plus bas niveau de AppDelegate. C'est à dire. la vue qui a été ajoutée à l'objet UIWindow lorsque l'application a démarré.

+0

J'ai résoudre ce problème .... – dark