5

Ich arbeite an einer Storyboard-basierten iPhone App. Ich verwende erfolgreich Abwicklungssegmente, um meinen Stapel von View-Controllern zu navigieren.Unwind segues funktioniert nicht mit modal view controllern

Wenn ich jedoch einen Modal-View-Controller präsentiere, kann ich anscheinend nicht das Abwicklungs-Segment auslösen, das ich in der Storyboard-Datei angegeben habe.

Ist das normal oder ein Fehler?

+0

Wahrscheinlich ist es das normale Verhalten. Bitte erarbeite mit mehr Details und einem Storyboard Screenshot wenn möglich. – Desdenova

+0

für modale Ansichten verwenden Sie entlassen viewcontroleranimated –

+1

Ich habe kein Problem mit 'entlassen viewcontrollerimated'. Ich versuche jedoch herauszufinden, warum die Abwicklungsfunktion in diesem Fall nicht funktioniert. Ich kann in Apples Dokumentation nichts finden. –

Antwort

0

Problem gelöst.

Anscheinend habe ich mit dem Storyboard Editor einen kleinen Fehler gemacht. Was ich getan habe, war den Ziel (modalen) View-Controller zu löschen und dann neu zu erstellen.

Funktioniert jetzt gut. Fehlerbericht eingereicht.

+0

ja es passiert mir manchmal auch ... könnte ein fehler sein ... –

0

Also habe ich das gleiche Problem (mehr als zwei Jahre später!). Ich habe das zugrunde liegende Problem nicht behoben, aber ich habe festgestellt, dass eine modale Ansicht, die mit einem Standardpräsentationsstil dargestellt wird, in Ordnung geht, aber eine, die einen Seitenblattpräsentationsstil verwendet, funktioniert einfach nicht. Die unwindToViewX Methode wird auf der übergeordneten View-Controller genannt, dass der Abwickler segue zu bewegt, obwohl, so habe ich das Problem mit dem folgenden Code umgangen:

if (self.presentedViewController) { 
    [self dismissViewControllerAnimated:YES completion:NULL]; 
} 

Das spart mir einen Delegierten-System als die Einrichtung Abwicklungsaktion macht das ganze schwere Heben, aber vermeidet auch ein Problem, wo vielleicht die Abwicklungsaktion eines Tages funktionieren könnte, weil in diesem Fall self.presentedViewControllerNO zurückgeben sollte, weil die Abwicklungsaktion korrekt funktionierte und wir nicht zwei View-Controller abweisen werden Unfall.

Ich hoffe, das hilft anderen im selben Boot, aber ich würde auch gerne hören, ob jemand andere bessere Lösungen hat.