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!

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top