Ich bin eine schnelle App und ich gehe von einem UIViewController (mein Login-Bildschirm) zu einem UINavigationController mit einer Stammansicht (Hauptbildschirm nach Login). Das alles funktioniert großartig und alle notwendigen Daten werden an die Root-Ansicht übergeben. Mein Problem ist, dass, nachdem ich auf eine Zelle auf dem UITableViewController klicke, es mich zum nächsten UIViewController bringt, aber dort ist keine Navigationsleiste (so kann ich nicht zurückgehen).Leiten Sie zu UINavigationController, aber Kinder UIViewControllers nach rootViewController haben keine Navigationsleiste SWIFT
Ich habe auch versucht, die Navigationsleiste ohne Erfolg, ich glaube wirklich, es ist einfach nicht da.
Ich bin mir nicht sicher, ob diese Hinweise, was das Problem hier verursacht aber einige Warnungen ich im Debugger erhalten Warning messages
ist die Struktur meiner Storyboard My storyboard
hier ist mein Code von Login zum Hauptbildschirm gehen
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "segueToTeams" {
if let user = self.user{
let navController = segue.destinationViewController as! UINavigationController
let welcomeView = navController.topViewController as! TeamsTableViewController
welcomeView.user = user
}
}
}
func goToTeamsView(storyBoard : UIStoryboard){
let welcomeView = storyBoard.instantiateViewControllerWithIdentifier("teamsView")
let navigationController = UINavigationController(rootViewController: welcomeView)
super.performSegueWithIdentifier("segueToTeams", sender: self)
super.presentViewController(navigationController, animated: true, completion: nil)
}
Schließlich ist hier mein Code zu gehen fr om die Wurzel-View-Controller des UINavigationViewController (Select Ansicht Team im Storyboard Screenshot) zum nächsten (Einzel Team-View-Controller), die die Navigationsleiste haben soll aber nicht
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
performSegueWithIdentifier("selectTeamCellSegue", sender: indexPath.row)
}
Wenn Sie eine brauchen andere Infos, lass es mich wissen. Ich habe mit diesem Thema länger gerungen, als ich zugeben möchte, jede Hilfe/Beratung wird sehr geschätzt!
Sie sind völlig richtig, das ist, wie Sie einen View-Controller in einem Navigationscontroller einbetten würden. Ich denke, dass ich mein Problem herausgefunden habe, es sieht so aus, als würde ich ein "Zeige Details" statt eines "Show" Segments verwenden, es behielt die Navigationsleiste, die mit dem Nav Controller angezeigt wird .. noch ein paar Dinge zum Beispiel, warum es die nächste Ansicht zweimal aufruft. Aber ich denke, dieses Problem ist gelöst. Ich schätze deine Hilfe damit, ich werde es als die richtige Antwort akzeptieren :) –