2016-05-18 25 views
1

enter image description hereAbweisung Modal-View-Controller verursacht Multiple VC

Diese Frage schwer zu schließen ist für mich ohne Bezug zu fragen, so wenden Sie sich bitte auf das Bild oben sehen. Ich versuche, den Modalansicht-Controller ganz rechts in meinem Storyboard zu entfernen.

Das Problem ist, wenn der View-Controller auf der rechten Seite es entlassen und der Benutzer auf den Middle View-Controller im Storyboard oben zurückgegeben wird, dann sofort die nächsten zwei View-Controller werden entlassen und der Benutzer wird nach links zurückgegeben Meistsicht-Controller.

Ich habe nur die Ablehnungsmethode auf der rechten Seite der Ansicht Controller aufgerufen. Ich frage mich, warum das passiert?

Ich habe vergeblich mit der Art und Präsentation Stil des Segue fiedeln. Ich habe auch versucht, Delegation zu verwenden und die Ablehnungsmethode in dem präsentierenden Ansichtscontroller aufzurufen. Dies führt immer noch zu dem gleichen unerwarteten Verhalten.

Jede Hilfe wäre großartig.

+0

Welche Methode haben Sie verwendet, um Ihr Modal zu verwerfen? –

+0

disneyViewControllerAnimated: Abschluss: – i2Fluffy

+0

Ich habe nicht Ihre Coed gesehen, aber ich denke, Ihr Controller Projekthome wird auch präsentiert und die anderen werden so geschoben, wenn Sie entlassen, die Elternansicht und alle Ansichten sind verloren –

Antwort

0

für Swift 3.0:

, wenn Sie benutzerdefinierten Übergang verwenden, dann haben Sie die Ansicht auf Fenster hinzufügen, nachdem Animation Abschluss wie:

transitionContext.completeTransition(true); 
        UIApplication.shared.keyWindow!.addSubview(toViewController.view) 

weil

Wenn Sie gegenwärtig mehr Modal View-Controller in Folge, und damit einen Stapel von Modal View-Controller erstellen, Aufruf dieser Methode auf einer Ansicht Controller im unteren Stapel Lässt seine direkte Kindansicht Controller und alle View-Controller über diesem Kind auf dem Stapel. Wenn dies passiert, wird nur die oberste Ansicht in einer animierten Mode entlassen; Alle Zwischenansicht-Controller werden einfach aus dem Stack entfernt.

Verwandte Themen