entlassen Ich habe mehrere View-Controller in meiner App. Ich frage mich, gibt es einen Weg, von der dritten Sicht nach Hause zu gehen, aber dennoch die dritte Sichtweise zu verwerfen? Vorzugsweise ohne Navigationscontroller. Aber sag mir bitte, ob ich eins brauche. Danke für die Hilfe.zu Hause aus einer anderen Ansicht Controller Swift 3
Antwort
Sie müssen Ihre benutzerdefinierte Segue implementieren und sie dann auf Ihre Segu zwischen den beiden Ansichten anwenden.
Hier ist ein Beispiel (aktuelle Ansicht wird vorherige ersetzen):
class ReplaceSegue: UIStoryboardSegue {
override func perform() {
let sourceController: UIViewController = self.sourceViewController
let destinationController: UIViewController = self.destinationViewController
let navigationController = sourceController.navigationController!
let controllerStack = NSMutableArray(array: navigationController.viewControllers)
controllerStack.replaceObjectAtIndex(controllerStack.indexOfObject(sourceController), withObject:destinationController)
navigationController.setViewControllers(controllerStack as NSArray as! [UIViewController], animated: true)
}
}
Ja, das ist möglich. Probieren Sie die folgenden Funktionen in Ihrem Code aus. In Ihrem Haus-View-Controller, Eingang eine Art freundliche/Empfangs segue Funktion:
@IBAction func unwindToVC(segue: UIStoryboardSegue) {
if let sourceViewController = segue.source as? *Name of third view controller* {
//in here you can now access any information you
//want to retrieve from the third view controller
}
}
//In your third viewController put the following:
//make sure you assign cancelSegue to a button or whatever
func cancelSegue() {
performSegue(withIdentifier: "segueToMain", sender: self)
}
Dann im Storyboard auf dem dritten View-Controller Sie sich auf der rechten ziehen aus dem gelben Kreis an der Spitze des View-Controllers klicken in das orange Quadrat "exit" und dann wird es eine Option namens unwindToVC und klicken Sie darauf. Stellen Sie sicher, dass es identifiziert ist (wie Sie in cancelSegue sehen können, hieß mein Name segueToMain als die Kennung.
Jetzt, wenn Sie in der dritten Ansicht Controller sind, sollten Sie in der Lage sein, die zugewiesene Schaltfläche zu drücken, und es wird den Übergang ausführen
das ist für mich gearbeitet, hoffe, es hilft
- 1. Swift: nicht in der Lage zu einer anderen Ansicht Controller
- 2. Gehe zu einer anderen Ansicht programmatisch in Swift 3
- 3. Prototypzelle aus einer anderen Ansicht verwenden Controller
- 4. Abrufen Eigenschaft aus einer anderen Ansicht Controller
- 5. eine Konstante aus einer anderen Ansicht-Controller
- 6. Swift UITableViewCell Segue zu einer anderen Ansicht
- 7. Wie zu Storyboard ViewController aus XIB-Ansicht mit swift 3
- 8. Schwierigkeit, Controller-lose Ansicht zu einer anderen Ansicht hinzuzufügen
- 9. Instanziieren Ansicht Controller Swift 3 Tab Bar Controller
- 10. Set UILabel von einer anderen Ansicht Controller Swift
- 11. Swift Hide-Taste in einer anderen Ansicht Controller
- 12. view controller in eine andere Ansicht wechseln swift 3
- 13. Swift 3 - Wie füge ich TableViewCells aus einer anderen Ansicht ein?
- 14. einen aktualisierten Variablenwert aus einer anderen Ansicht Controller Zugriff
- 15. Von Container Ansicht einen anderen Container Blick in Swift 3
- 16. Anruf Ansicht aus einer anderen Ansicht
- 17. Erstellen einer Datenbankkopie zu Hause
- 18. Benutzer vom Controller zu einer anderen Ansicht umleiten MVC
- 19. TabBar- halten, wenn zu einer anderen Ansicht Controller bewegt
- 20. So umleiten zu einer anderen Ansicht von Controller
- 21. Switching Ansicht Controller in Swift
- 22. Rendern einer anderen Controller-Aktion als Teil aus einer anderen Ansicht in Rails
- 23. Swift 3-Segment-Ansicht Fehler
- 24. Coverflow android 3 Ansicht zu einer Zeit
- 25. Navigieren zu einem anderen View-Controller aus einer Unteransicht
- 26. Reuse Code aus einer Django Ansicht in einer anderen Ansicht
- 27. Gescanntes Bild zu einer anderen Ansicht senden
- 28. Pop zu Root-Ansicht-Controller aus modal
- 29. Umleiten von einer Controller-Methode zu einer anderen Controller-Methode
- 30. Navigation zu einer anderen Ansicht in iPhone
Warum Sie wollen keine Navigation-Controller verwenden. es ist eine saubere Art und Weise ist das gewünschte Verhalten zu erreichen. auch die Frage ist sehr schwer, Ihnen zu antworten, weil don‘ –
Verwenden Sie eine Abwickelstrecke – rMickeyD