Hier ist mein Beispiel dafür, wie dies zu tun. In meinem Setup wähle ich den gelben ViewController von der Registerkarte, dann drücke Go! welches modal präsentiert die white ViewController. Drücken Exit kehrt zum grünen ViewController zurück.
dies einzurichten, verwenden Sie einen Abroller segue zum Viewcontroller zurückzukehren, die Sie genannt. Implementieren Sie dies zum Beispiel im ersten ViewController der Registerkarte (die den modalen Übergang aufruft).
@IBAction func backFromModal(_ segue: UIStoryboardSegue) {
print("and we are back")
// Switch to the second tab (tabs are numbered 0, 1, 2)
self.tabBarController?.selectedIndex = 1
}
Schalten Sie dann auf einen anderen Tab self.tabBarController?.selectedIndex = n
mit dem n
die Anzahl der Register ist, dass Sie wirklich wollen, um zu gehen. So stellen Sie den Abwickler segue up, können Sie entweder Steuer -Ziehen von einer Schaltfläche in der modal-View-Controller an das Ausfahrt-Symbol am oberen Rand des Viewcontroller und wählen backFromModal
aus dem Pop-up ...
ODER
Sie den Abwickler segue einrichten können b programmatisch aufgerufen werden y Steuerung -dragging von viewController Symbol am oberen Rand des modalen ViewController zum Ausfahrt Symbol, und wählen Sie backFromModal
aus dem Popup.
Dann gehen Sie auf die Dokument Gliederungsansicht und klicken Sie auf den Abroller segue
und geben ihm eine Kennung im Attribute Inspector auf das Recht (zum Beispiel "returnFromModal"
).
Dann würden Sie die Abroller segue wie folgt aufrufen:
self.performSegue(withIdentifier: "returnFromModal", sender: self)
Sind Sie von einem Viewcontroller auf der Tab-Leiste Controller zurückkehrt, die modal vorgestellt wurde, oder präsentieren Sie modal ein Ansicht, die in einem Tab-Leiste-Controller enthalten ist? – vacawama
Ja, Tableiste viewcontroller dann modal zu einem View-Controller dann zurück zu einer anderen Tab-Leiste viewcontroller – MasterWizard
zurück zu einer anderen Registerkarte in der gleichen ViewController? – vacawama