Wie Sie wissen, wenn dismissModalViewControllerAnimated initiiert wird, und auch, wenn es fertig ist?
Gibt es eine Möglichkeit zu wissen, Wann die dismissModalViewControllerAnimated eingeleitet wird und wenn es fertig ist (wie das idiom für viewWillAppear und viewDidAppear)? Im Gegensatz zu anderen Animationen, die nicht scheinen, um einen Delegaten, sagt Sie.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, und einfacher als Sie denken.
Wenn dismissModalViewControllerAnimated: heißt, die zugrunde liegende Ansicht (die, die angezeigt werden können) erhalten ein viewWillAppear Nachricht und eine viewDidAppear Nachricht.
Warnung: stellen Sie sicher, dass Ihr view-Controller angeschlossen sind ordnungsgemäß oder diese Nachrichten verloren gehen.
Ich fürchte viewWillAppear und viewDidAppear nicht immer funktionieren.
auf dem iPhone, die Sie tun, auf dem iPad können Sie nicht.
wenn die UIViewController präsentiert wird, nicht im Vollbild (wenn es vorgestellt wird als eine form Blatt zum Beispiel) der übergeordneten Ansicht nicht erhalten viewWillAppear oder viewDidAppear lifecycle-Funktionen. leider ist der einzige Weg, den ich gefunden ist, um meine eigenen Delegierten Nachricht aufgerufen werden, wenn der dismissModalViewControllerAnimated genannt wird (äther durch einen Verweis oder mit einer Benachrichtigung)
Können Sie das Erscheinungsbild von Methoden. Und wenn Sie etwas brauchen, um passieren, nachdem die animation beendet ist, können Sie verwenden
[object performSelector:@selector(selector) withObject:anotherObject afterDelay:0]
. Ich weiß nicht genau warum, aber die Aktion wird geplant auf dem aktuellen run-Schleife, aber nachdem die animation beendet ist.