Container View, UITabBar und Navigation Controller

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Container View, UITabBar und Navigation Controller

    Moin!

    Ich brauche mal gerade jemanden, der das Brett von meinem Kopf löst. Nach 18 Stunden Xcode habe ich gerade nur noch Erbswurstsuppe zwischen den Ohren.

    Da ein UITabBarController unterhalb eines UINavigationController eine blöde Idee ist, habe ich mir gerade selber einen Tabbar-View aus einem UINavigationController+UIViewController+Container View gebaut. Sieht ziemlich gut aus. Zeigt auch brav den Inhalt des ersten Tabs in der Nagivationshierarchie des umgebenden Navigationcontroller an - die Verbindung vom Container View zum Viewcontroller lässt sich ja bequem im Storyboard ziehen. Wie kriege ich denn jetzt in den anderen Tabs Viewcontroller angezeigt, die ebenfalls in der Navigationshierarchie eingebettet sind? Ich bin gerade nur noch dazu fähig, Viewcontroller anzuzeigen, die nicht in der Navigationshierarchie enthalten sind.

    Also nomma als Bild:

    UINavigationController->UIViewController->UITabBar->Container View->UIViewController1

    -> tut.

    UINavigationController->UIViewController->UITabBar->Container View->UIViewController2

    -> tut nicht, weil UIViewController Vollbild ist und nicht in der Navigationshierarchie. UIViewController2 wird beim Auswählen eines anderen TabBarItems aufgerufen.

    Soweit verständlich? Vielleicht sollte ich auch einfach nur ins Bett gehen … :sleeping:
  • Verstehe das Problem nicht ganz.

    Wenn sich der UIViewController im NavigationStack des UINavigationController dann kannst Du diesen einfach als Container View Controller verwenden und somit beliebige ViewController als Child ViewController hinzufügen.

    Wenn dieser UIViewController also eine UITabBar am unteren Rand hat, dann kannst Du die Child ViewController somit nur oberhalb dieser TabBar platzieren.
  • MCDan schrieb:

    Verstehe das Problem nicht ganz.

    Wenn sich der UIViewController im NavigationStack des UINavigationController dann kannst Du diesen einfach als Container View Controller verwenden und somit beliebige ViewController als Child ViewController hinzufügen.

    Wenn dieser UIViewController also eine UITabBar am unteren Rand hat, dann kannst Du die Child ViewController somit nur oberhalb dieser TabBar platzieren.


    Wie ich ja schon vermutet hatte, zahlt sich Schlaf aus. Wenn man …

    Quellcode

    1. [self presentViewController:foobar animated:NO completion:nil];


    … schreibt, aber …

    Quellcode

    1. [self.navigationController pushViewController:foobar animated:YES];


    … meint, dann ist's wirklich Zeit für die Nachtruhe. ||