2010-08-09 6 views
0

J'ai un tabBarController xib. J'ai défini la classe du premier élément sur un contrôleur de vue que j'ai créé (fichiers .h et .m, pas .xib). Quand j'essaye de pousser le tabBarController, j'obtiens un avertissement disant que le tabBarController "la prise de vue n'a pas été placée".Comment définir une vue par programme pour mon tabBarController?

Je ne suis pas sûr comment régler la prise de vue, puisque je charge d'une autre vue. Je m'attends à ce que la vue grise par défaut avec les bords détaillés se charge à partir de mon fichier ViewController.h car j'y ai défini la classe, mais à la place, je plante avec cette erreur.

Suggestions?

Répondre

1

Normalement, vous ajouteriez des contrôleurs de vue au contrôleur de la barre d'onglets dans le xib. Ils ont besoin d'avoir une vue reliée, ce que vous pouvez aussi faire dans IB.

Si vous voulez faire un programme, vous devez, après le chargement du xib, mais avant de montrer le vc, prendre les éléments de

NSArray *vcs = [tbCtrl viewControllers]; 

promenade à travers eux, et définir leur propriété view à une vue. Une fois poussé, le contrôleur de barre d'onglets saura quelle vue charger: à savoir la vue du premier onglet. Ces choses sont vraiment beaucoup plus faciles à gérer dans IB.

+0

@quantumpotato En bref, vous devez modifier la matrice viewControllers de votre contrôleur tabbarViewController. –

+0

@Madhup: Je ne pense pas que ce soit correct, les viewcontrollers semblent être là (lire la question) mais les vues ne le sont pas. Modifier le tableau viewControllers n'aidera pas. – mvds

+0

Je viens de résumer votre réponse, l'avertissement est dû au facteur, que la vue dans XIB n'est pas liée à la vue viewControllers –

Questions connexes