2017-02-15 2 views
2

Ich versuche, die Navigationsleiste am oberen Rand des Bildschirms angezeigt werden, aber es ist nicht in embed Navigation-Controller zeigt.Navigationsleiste zeigt, die nicht in einbetten Navigation Controller

Hier ist, wie es im Storyboard ist: enter image description here

Und hier ist es im Simulator:

enter image description here

Wie Sie sehen können, habe ich eine benutzerdefinierte TabBar- (nach this tutorial) bei unten auf dem Bildschirm, damit ich zwischen den verschiedenen Ansichten navigieren kann.

Ich glaube, dass ich die navbar programmatisch laden muss, weil die einzige Lösung, die ich fand, war, den Navigationscontroller als den anfänglichen Ansicht-Controller zu setzen, aber ich habe bereits eine andere Ansicht als die erste gesetzt, damit ich kann Tu das nicht.

Antwort

2

Ausgabe:

Wenn Sie einen Viewcontroller mit Storyboard-Kennung instanziiert sie mit freien Embedded Navigation-Controller kommen wont, auch wenn Sie ein Navigation ihnen hinzugefügt haben. Als Ergebnis fügen Sie einen ViewController ohne Navigationsleiste zu Ihrer Registerkarte VC hinzu.

Lösungen:

Solution1: Wenn Sie jedes Kind Viewcontrollers wollen ihre eigene Navigationssteuerung daher Stapel ihre eigene Navigation zu tragen, hinter Ihrem Kind Viewcontrollers ein Storyboard Kennung Navigation Controller bereitzustellen und die Navigation Controller instanziiert selbst statt ViewController. Und fügen Sie NavigationController als Tab-Leiste hinzu, die das Kind von VC sucht. Da der Navigationscontroller den eingebetteten VC standardmäßig lädt, sehen Sie Ihren untergeordneten VC mit Navigationsleiste.

Solution2: Alles, was Sie für sich interessieren nur Navigationsleiste als fügen Sie den Navigation Controller hinter der VC Tab-Leiste enthält Ansicht suchen.

Hoffe, dass es

+0

Die erste Lösung hilft war meine Wahl, weil es einige Ansichten sind, die ich will nicht das navbar an der Spitze haben, so dass ich glaube, dass ich die eine zusätzliche Arbeit verstecken würde zu tun haben, navbar oder ändern Sie einige Attribute davon. –

+0

@ alexandre-lara: Gut zu wissen, dass Ihr Problem gelöst :) Happy Coding –

+0

@SandeepBhandari wo instanziiere ich Navigation Controller selbst? Vielen Dank. –

0

Haben Sie versucht, die Navigationsleiste zu Ihrer Ansicht einschränken? Andernfalls kann es sich außerhalb des Bildschirms bewegen.

0

Sie müssen die Tab-Leiste Controller segue zum Navigationssteuerung Ihrer Ansicht zeigen - andernfalls, wenn Sie den Übergang gerade zum Aussichtspunkt sind Sie nur angebracht, um die Ansicht ohne Navigation-Controller geladen werden.

Verwandte Themen