Ich habe 2 View Controller mit Navigation Controller.
Wenn ich [self.navigationController popViewControllerAnimated:YES];
in der zweiten benutze - die erste wird geöffnet, aber die Methoden in viewDidLoad werden nicht aufgerufen. Welche Methoden werden in dieser Situation im ersten Controller aufgerufen?
Der Navigationscontroller sendet viewWillAppear:
an einen Ansichtscontroller, bevor er seine Ansicht auf dem Bildschirm anzeigt, und viewDidAppear:
nach.
Innerhalb von viewWillAppear:
und viewDidAppear:
kann der View-Controller self.isMovingToParentViewController
prüfen. Wenn isMovingToParentViewController
ist YES
, wird der View-Controller an erster Stelle zum Navigations-Controller hinzugefügt (vermutlich weil es der Root-View-Controller des Navigations-Controllers ist oder weil er gedrückt wird). Wenn isMovingToParentViewController
NO
ist, befindet sich der View-Controller bereits im Stack des Navigations-Controllers und ein anderer View-Controller wird geöffnet, um ihn anzuzeigen.
Lesen Sie "Anzeigenbezogene Benachrichtigungen bearbeiten" in der Klassenreferenz UIViewController
.
Tags und Links objective-c ios uiviewcontroller uinavigationcontroller