2009-07-29 12 views
12

Je suis au bout de ma corde avec ce projet terrifiant !!!!!!!Iphone sdk tabbar Voir la prise n'a pas été réglée

J'ai une classe UIViewController qui est liée à une plume qui a un contrôleur de tabulation avec 2 onglets. Les deux onglets chargent des fichiers nib. Lorsque je compile, j'obtiens une erreur:

-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "MainViewController" nib but the view outlet was not set.

Que se passe-t-il ici? Les vues de MainViewController sont peuplées par des fichiers nib (et ces vues de fichiers sont liées correctement). Le propriétaire de Files de MasterViewController a un paramètre "view" mais ne devrait-il pas être ignoré puisque Im charge les deux vues d'une plume? Toute aide serait appréciée!

Répondre

0

Vous devez ajouter la vue de chaque plume externe au fichier xib principal, puis connecter la prise de vue à la vue correcte. Par exemple, si vous avez la barre d'onglets dans MainMenu.xib et un xib externe nommé ViewOne.xib, puis ouvrez les deux, faites glisser Custom View (ou quel que soit son nom) de la fenêtre ViewOne.xib à la fenêtre MainMenu.xib. Ensuite, connectez la sortie d'affichage de l'onglet pour cette vue à Vue personnalisée. Vous devriez probablement renommer Custom View une fois que vous l'avez copié dans MainMenu.xib afin de pouvoir le différencier des autres vues que vous devrez ajouter à MainMenu.xib.

+0

N'est-ce pas simplement copier sur un tas de vues dans 1 fichier nib? Je voulais garder chaque fichier séparé, chaque onglet aurait sa sur la plume. Est-ce que ce n'est pas possible? –

+0

Je l'ai fait et j'ai la même erreur! Il semble qu'il n'aime pas le fait que la vue des propriétaires de fichiers n'est pas connectée à quoi que ce soit –

+0

Je pense que cela met juste des références dans MainMenu.xib, donc si vous mettez à jour les autres fichiers, il mettra à jour les vues dans votre application. – Amok

2

Problème n ° 1 - plume mais la prise de vue n'a pas été réglée. 1. Mon MainMenu.xib qui avait le contrôleur tabb, son propriétaire DOIT être connecté à une sorte de vue. Donc mettre dans un objet de vue et le relier est bien. J'étais ennuyé parce qu'il continuait à montrer ce fichier et non le tabbar. # 2 résout ce problème

Problème n ° 2 - aucune barre d'onglets n'est affichée 2. Créez un IBOutlet UITabBarController et liez-le au propriétaire du fichier. Et puis dans la méthode viewdidload, faites self.view = tbController.view; et maintenant votre tabbar est montré pas ce fichier de vue vide que vous avez lié à!

36

J'ai eu la même erreur (chargé la pointe «xViewController», mais la prise de vue n'a pas été définie.) Dans le débogueur. Dans Interface Builder, j'ai ouvert le xViewController.xib, cliqué avec le bouton droit sur l'icône View, glissé du cercle à côté de New Referencing Outlet sur l'icône du propriétaire du fichier, puis, lorsque le petit menu gris est apparu, j'ai cliqué sur view. (Puis enregistrer, reconstruire, exécuter, etc ...)

Je ne suis pas clair sur ce qui se passe, mais cela l'a corrigé. D'après ce que je comprends, si quelqu'un veut faire un suivi, le point de vue de View (qui est nommé "vue") n'a pas été défini, et en faisant glisser le nouveau point de référence vers l'icône du propriétaire du fichier, sortie. Génial.

+0

Merci! J'ai frappé cela et votre suggestion a résolu mon problème. En fait résolu le point de vue vue pas de problème et une vue qui montre le sélecteur, mais pas d'étiquettes ou de boutons. – Refactor