Próbuję zrobić coś nieco skomplikowanego, ale coś, co powinno być możliwe. Oto wyzwanie dla was wszystkich ekspertów (to forum jest gromadką was wszystkich :)).
Tworzę „komponent” Kwestionariusza, który chcę załadować na NavigationContoller(mój QuestionManagerViewController). „Składnik” jest „pusty” UIViewController, który może ładować różne widoki w zależności od pytania, na które należy odpowiedzieć.
Tak to robię:
- Utwórz obiekt Question1View jako
UIViewpodklasę, definiując niektóreIBOutlets. - Utwórz (za pomocą Konstruktora interfejsów)
Question1View.xib(TUTAJ JEST GDZIE MOŻLIWY JEST MOJA PROBLEM ). Ustawiłem zarówno te, jakUIViewControlleriUIViewklasy klasy Question1View. - Łączę wyloty z komponentem widoku (używając IB).
Zastępuję
initWithNibmoje,QuestionManagerViewControlleraby wyglądać tak:- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { if (self = [super initWithNibName:@"Question1View" bundle:nibBundleOrNil]) { // Custom initialization } return self; }
Po uruchomieniu kodu pojawia się następujący błąd:
2009-05-14 15: 05: 37.152 iMobiDines [17148: 20b] *** Kończenie aplikacji z powodu nieprzechwyconego wyjątku
NSInternalInconsistencyException”, powód:„-[UIViewController _loadViewFromNibNamed:bundle:]załadowałem końcówkę „Question1View”, ale ujście widoku nie zostało ustawione ”.
Jestem pewien, że istnieje sposób na załadowanie widoku przy użyciu pliku stalówki, bez potrzeby tworzenia klasy viewController.













