2009-08-16 8 views
0

Ein Kumpel von mir fragte nach einem kurzen Code-Beispiel für ein App-Skelett, das mit einem TableView ein TabView aufrufen würde. Ich schätzte eine Stunde.Interface Builder: TabBarController beim Aufruf von TableViewController nicht anzeigen

Nach mehr Stunden, als ich in IB zugeben wollte, gab ich auf und implementierte den folgenden Code.

Kann jemand mir sagen, wie man das in IB macht? Ich war vorsichtig (dachte ich), um die richtigen Verbindungen herzustellen, aber nicht gehen. Ich hatte sogar eine andere (funktionierende) App, wo ich durchging und Schritt für Schritt die gleichen Verbindungen herstellte. Ich habe Fehler zu "Ändern des Delegaten einer Tab-Leiste, die von einem Tab-Leiste-Controller verwaltet wird, ist nicht erlaubt ..." (Dies, wenn ich den TabBar-Delegaten mit dem Besitzer der Datei verbunden, obwohl eine andere App mit dieser Einstellung gut funktionierte)

Bis ich diesen Code schrieb, bekam ich nie die Tab-Ansicht, nur die Ansicht, die mit der Ansicht Xib kam ... (Ich habe getestet, indem ich ein Etikett auf die Ansicht legte).

Vielen Dank im Voraus ...

UITabBarController *tabBarController = [[[UITabBarController alloc] initWithNibName:nil bundle:nil] autorelease]; 
    NumberOneViewController *numberOneViewController = [[[NumberOneViewController alloc] initWithNibName:@"NumberOneViewController" bundle:nil] autorelease]; 
    NumberTwoViewController *numberTwoViewController = [[[NumberTwoViewController alloc] initWithNibName:@"NumberTwoViewController" bundle:nil] autorelease]; 
    NumberThreeViewController *numberThreeViewController = [[[NumberThreeViewController alloc] initWithNibName:@"NumberThreeViewController" bundle:nil] autorelease]; 
    NumberFourViewController *numberFourViewController = [[[NumberFourViewController alloc] initWithNibName:@"NumberFourViewController" bundle:nil] autorelease]; 

    tabBarController.viewControllers = [NSArray arrayWithObjects:numberOneViewController, numberTwoViewController, 
             numberThreeViewController, numberFourViewController, nil]; 

    [self.navigationController pushViewController:tabBarController animated:YES]; 

Antwort

0

self.view = tabBarController.view; in der viewDidLoad Methode der Klasse TabBarController Delegaten es fest ...

Ah gut, sicherlich jemand anderes in die gleiche Sache läuft und hoffentlich wird dies ihnen helfen ...

Verwandte Themen