Ich versuche etwas Aufwändiges zu tun, aber etwas, das möglich sein sollte. Hier ist also eine Herausforderung für alle Experten da draußen (dieses Forum ist eine Menge von euch :)).
Ich erstelle eine Fragebogen- "Komponente", die ich auf eine NavigationContoller
(meine QuestionManagerViewController
) laden möchte . Die "Komponente" ist eine "leere" Komponente UIViewController
, die je nach der zu beantwortenden Frage unterschiedliche Ansichten laden kann.
Ich mache es so:
- Erstellen Sie das Question1View-Objekt als
UIView
Unterklasse und definieren Sie einigeIBOutlets
. - Erstellen Sie (mit dem Interface Builder) das
Question1View.xib
(HIER IST, WO MEIN PROBLEM MÖGLICHERWEISE IST ). Ich habe sowohl dasUIViewController
als auch dasUIView
der Klasse Question1View festgelegt. - Ich verbinde die Steckdosen mit der Ansichtskomponente (mit IB).
Ich überschreibe das
initWithNib
von mirQuestionManagerViewController
, um so auszusehen:- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { if (self = [super initWithNibName:@"Question1View" bundle:nibBundleOrNil]) { // Custom initialization } return self; }
Wenn ich den Code ausführe, wird folgende Fehlermeldung angezeigt:
2009-05-14 15: 05: 37.152 iMobiDines [17148: 20b] *** Beenden der App aufgrund einer nicht erfassten Ausnahme '
NSInternalInconsistencyException
', Grund: '-[UIViewController _loadViewFromNibNamed:bundle:]
Die Schreibfeder "Question1View" wurde geladen, aber der Ansichtsausgang wurde nicht festgelegt.'
Ich bin sicher, dass es eine Möglichkeit gibt, die Ansicht mithilfe der NIB-Datei zu laden, ohne eine viewController-Klasse erstellen zu müssen.