Die empfohlene Vorgehensweise besteht darin, einen Delegaten von Ihrem Modalansicht-Controller zurück zum View-Controller zu verwenden, der die Ansicht geöffnet hat. Sehen Sie sich die offiziellen Dokumente für Beispiele an.
Der Grund dafür, dass dies der empfohlene Weg ist, ist, dass der ViewController, der das Modal ursprünglich gestartet hat, auch die Kontrolle darüber hat, es zu verwerfen.
Es ist wirklich einfach zu tun und denke eleganter als mit viewWillDisappear - da es andere Gründe gibt, warum die Ansicht verschwinden könnte!
ein Protokoll auf Ihrem modalen Viewcontroller erstellen - xViewControllerDelegate
@protocol xViewControllerDelegate
- (void) modalDialogFinished;
@end
dann Ihre Eltern den Delegaten machen implementieren die <xViewControllerDelegate>
verwenden, wenn Sie Ihre Eltern-View-Controller definieren.
Sie werden gezwungen, ein Verfahren haben modalDialogFinished in Ihren Eltern-View-Controller genannt - das Kommando entlassen umgehen kann und die Refresh usw.
Denken Sie daran, ein id<xViewControllerDelegate>
in die modal-View-Controller in Ihrem Init-Code und speichern passieren es als ein Feld auf dem Objekt.
Wenn Sie Ihre modale Ansicht nicht auslassen möchten, müssen Sie nur auf delegate.modalDialogFinished verweisen.
Wenn das keinen Sinn ergibt, kann ich Sie auf einen besseren Beispielcode hinweisen - aber ich hoffe, dass die Verwendung von Delegaten für Sie nicht neu ist.
UPDATE ::
Hier ist die offizielle Apple-Dokumentation darüber, wie dies für einen Modal-View-Controller tun:
http://developer.apple.com/iphone/library/featuredarticles/ViewControllerPGforiPhoneOS/ModalViewControllers/ModalViewControllers.html
Vielen Dank für die schnelle Antwort Jasarien, geben, dass ein Go ein bisschen später. – Jack
Warum habe ich einen Downvote für diese Antwort bekommen? – Jasarien
Nicht von mir hast du nicht – Jack