2016-03-24 14 views
0

Beachten Sie mit der folgenden Frage, ich bin immer noch ein iOS-Noob.navigation bar states, zeigt und versteckt die untere nav bar

Also ich verstehe, wie die Navigationsleiste und was nicht zu verstecken/anzeigen/neu einfärben. Meine nächste Herausforderung ist, dass einige Bildschirme die Navigationsleiste benötigen und andere nicht.

Wenn meine App startet, habe ich die Nav-Leiste als ausgeblendet und dann kann der Benutzer klicken Register oder einloggen (beide Bildschirme haben eine Navigationsleiste).

So haben diese Bildschirme den Code, um die Navigationsleiste alle anzuzeigen, während der erste (Begrüßungsbildschirm) den Code zum Ausblenden der Navigationsleiste hat.

Hier ist die Frage: Warum ist, wenn ich meine App zum ersten Mal starte, die Navigationsleiste nicht vorhanden, aber wenn ich mich registriere/logge und dann zurück drücke, um zur Willkommensseite zurückzukehren) dann ist die Navigationsleiste immer noch da, obwohl mein Code, um es zu verstecken, in der viewDidLoad Methode ist? Wie kann ich das beheben?

Antwort

1

Sie können versuchen, die Logik zum Verstecken der Navigationsleiste auf die ViewWillAppear-Methode zu verschieben, Sie müssen sie nur in Ihrer View Controller-Klasse überschreiben.

Alternativ würde ich vorschlagen, einen separaten View-Controller zu verwenden, um Ihre Anmelde-/Registrierungsbildschirme zu bearbeiten und nur Navigationsleisten dort zu verwenden, wo Sie sie brauchen. Sie müssten einen View-Controller in Ihrem Storyboard mit Ihren normalen Bildschirmen erstellen und die Bildschirme einbetten, die die Registerkartenleiste in einem Navigationscontroller benötigen. Sie können dann von Ihrem normalen Ansichtscontroller in den Navigationscontroller mit Ihren Registerkarten wechseln.

hoffte, das hilft

+0

gut, es könnte eine bessere Lösung für mein Problem sein ... sieht zur Zeit und ursprünglich mein Plan Swipe-Gesten zu bedienen war und von den Registrierungs Bildschirmen zu navigieren (was gut war), aber Das Problem ist, dass es für den Benutzer nicht ganz intuitiv ist ... irgendwelche Ideen? –

+0

Sie können dies erreichen, indem Sie einen Seitenaufruf-Controller verwenden. Ändern Sie einfach den Animationstyp, sodass es nicht so aussieht, als würden Sie Seiten umblättern. Ich habe das in einer meiner Apps für genau den gleichen Zweck verwendet, aber ich habe es mit vertikalem Scrollen gemacht, einfach ein kleines Label "swipe to register" hinzufügen oder so ähnlich. –