2009-07-29 16 views
12

Jestem na końcu mojej liny z tym szalonym projektem !!!!!!!Iphone sdk tabbar Widok gniazda nie został ustawiony

Mam klasę UIViewController, która jest połączona z końcówką, która ma kontroler zakładek z 2 kartami. Obie zakładki ładują pliki końcówek. Podczas kompilacji pojawia się błąd:

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

Co tu się dzieje? Widoki MainViewController są zapełniane przez pliki nib (a widoki tych plików są poprawnie połączone). Właściciel FilesMainViewController ma parametr "view", ale czy nie powinno to być ignorowane, ponieważ Im ładuje oba widoki z stalówki? ŻADNA pomoc byłaby doceniona!

Odpowiedz

0

Musisz dodać widok z każdego zewnętrznego pióra do głównego urządzenia XIB, a następnie podłącz gniazdko widoku do poprawnego widoku. Na przykład, jeśli masz pasek kart w MainMenu.xib i zewnętrzny Xib o nazwie ViewOne.xib, a następnie otwórz oba z nich, przeciągnij niestandardowy widok (lub jakkolwiek się nazywa) z okna ViewOne.xib do okna MainMenu.xib. Następnie podłącz wylot widoku karty dla tego widoku do widoku niestandardowego. Powinieneś zmienić nazwę widoku niestandardowego po skopiowaniu go do pliku MainMenu.xib, aby odróżnić widok niestandardowy od innych widoków, które będziesz musiał dodać do MainMenu.xib.

+0

Czy to nie jest tylko kopiowanie całej wiązki widoków na plik 1 nib? Chciałem, aby każdy plik był oddzielony, każda karta miałaby jego stalówkę. Czy to nie jest możliwe? –

+0

Zrobiłem to i otrzymałem ten sam błąd! Wydaje się, że nie podoba się to, że widok Właściciele plików nie jest połączony z niczym. –

+0

Myślę, że po prostu umieszcza odniesienia w MainMenu.xib, więc jeśli zaktualizujesz inne pliki, zaktualizuje on widoki w twojej aplikacji. – Amok

2

Problem # 1 - stalówka, ale wylot widokowy nie został ustawiony. 1. Mój plik MainMenu.xib, który miał kontroler tabbar, to jego właściciel MUSI być podłączony do pewnego widoku. Zatem wstawianie obiektu widoku i łączenie go jest w porządku. Denerwowało mnie, ponieważ pokazywał ten plik, a nie tabbar. # 2 rozwiązuje ten problem:

Problem # 2 - nie pokazano paska tabulatora 2. Utwórz element IBITlet UITabBarController i połącz go z właścicielem pliku. A następnie w metodzie viewdidload wykonaj to self.view = tbController.view; a teraz Twój tabbar jest pokazywany nie z tym pustym plikiem widoku, z którym się łączyłeś!

36

Miałem ten sam błąd (załadowałem końcówkę "xViewController", ale widok nie był ustawiony.) W debugerze.

W Konstruktorze interfejsów otworzyłem xViewController.xib, kliknąłem prawym przyciskiem myszy ikonę Widok, przeciągnąłem z kręgu obok Nowego Źródła referencji do ikony Właściciel pliku, a następnie, gdy pojawiło się małe, szare menu, kliknąłem widok. (Następnie zapisz, przebuduj, uruchom itd.)

Nie wiem, co się dzieje, ale to naprawiło.

Z tego co rozumiem, jeśli ktoś chce śledzić, wylot View (o nazwie "widok") nie został ustawiony, a przeciągając Nowy punkt odniesienia do ikony właściciela pliku, ustawiam Widok wylot. Wspaniały.

+0

Dzięki! Uderzyłem, a twoja sugestia rozwiązała mój problem. Właściwie rozwiązany zestaw widoków nie stanowi problemu i widok przedstawiający próbnik, ale bez etykiet i przycisków. – Refactor