So ändern Sie die Sachen in der Elternansicht, wenn Sie PopViewControlleranimimated aufrufen:
-
25-10-2019 - |
Frage
Ich habe eine Navigationskontroll mit mehreren Ansichten. Alles funktioniert richtig. Ich möchte jetzt eine Warnung in der Elternansicht zeigen, nachdem ich die Methode aufgerufen habe [self.navigationController popViewControllerAnimated:YES];
in der Kinderansicht. Ich habe den Alarm konfiguriert, um den Ansichtsregler des übergeordneten Ansichtsansichts zu zeigen viewDidLoad
. Aber was ich anerkenne, ist, dass dies nur als erstes Mal bezeichnet wird, dass die Ansicht aufgerufen wird. Gibt es eine Methode, die jedes Mal aufgerufen wird, wenn ich zu dieser Ansicht zurückgehe? Thks!
Lösung
Ich musste das entfernen -(void)viewDidAppear:(BOOL)animated;
Damit dies funktioniert:
-(void)viewWillAppear:(BOOL)animated
{
//YOUR CODE HERE (mine was the alert showing up)
}
Jetzt funktioniert der Alarm perfekt.
Andere Tipps
Du solltest es versuchen -(void)viewDidAppear:(BOOL)animated;
. Vergessen Sie nicht anzurufen [super viewDidAppear:animated];
Irgendwann in Ihrer Implementierung.
Eine andere Möglichkeit, dieses Ereignis zu fangen, besteht darin, eine Delegate -Methode zu verwenden:
-(void)navigationController:(UINavigationController *)navigationController
didShowViewController:(UIViewController *)viewController
animated:(BOOL)animated;
Weitere Informationen finden Sie besucht UinavigationControllerDelegate -Protokollreferenz.