1

Ich brauche einen Navigationscontroller durch mein Projekt und meine Anwendung hat zunächst eine soziale Anmeldung. Sobald die Authentifizierung bestätigt ist, wird der Benutzer in eine andere Ansicht verschoben, wo ich einen Tabbar-Controller mit 2 Tabs anzeigen kann.So erhalten Sie navigationsbasierte Vorlagenfunktionen in der Swift-Programmierung

Ich weiß nicht, wie das in Swift-Programmierung zu tun. Ich habe meinen Viewcontroller in den Navigationscontroller eingebettet, von hier aus, sobald die Authentifizierung erfolgreich ist, wie schiebe ich den Benutzer in die Tabbar-Ansicht? Tabbar sollte auch Navigation haben.

+0

prüfen diese http://stackoverflow.com/questions/576764/tab-bar-controller-inside-a-navigation-controller-or-sharing-a-navigation-root – pedrouan

+0

@Dee - Haben Sie meine Lösung ? –

+0

Nein, aber ich habe das Konzept verstanden. Vielen Dank. – Dee

Antwort

3

Ich möchte Ihre Idee in dem, was ich normalerweise im folgenden Beispiel mache, replizieren.

Dies ist, wie mein Drehbuch aussieht:

enter image description here

Wie Sie Login/Anmeldungen und Tab-Leiste verbunden sind, nicht mit jeder Art von Segue sehen können.

Hier Anmelden Navigationscontroller ist Setup von Initial Controller.

Assign Dieser Navigation Controller eine Storyboard-ID (zB LoginNavigation):

Login NavigationController

Machen Sie dasselbe mit Tab Bar Controller zuweisen Storyboard-ID (zB HomeTabBar)

TabBarController

Jetzt müssen Sie nur Root View Controller der App mischen zwischen Login Nav und Tab Bar.

Also, wenn Benutzer erfolgreich anmeldet, ändert die Stammansicht der Anwendung auf HomeTabBar folgenden Code:

let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
let home: UITabBarController = storyboard.instantiateViewControllerWithIdentifier("HomeTabBar") as! UITabBarController 
appDelegate.window?.rootViewController = home 

Und wenn Benutzer unsere anmeldet, wieder die Ansicht root ändern Anmeldung Nav:

let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
let entryPoint:UIViewController = mainStoryboard.instantiateViewControllerWithIdentifier("LoginNavigation") 
appDelegate.window?.rootViewController = entryPoint 

Die appDelegate ist in meiner constants.swift-Datei definiert:

let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate 
Verwandte Themen