Comment changer des choses en vue parent, lorsque vous appelez popViewControllerAnimated:
-
25-10-2019 - |
Question
J'ai un navigationControll avec plusieurs vues. Tout fonctionne correctement. Je veux maintenant montrer une alerte dans la vue parent, après que j'appelle la méthode [self.navigationController popViewControllerAnimated:YES];
dans la vue des enfants. J'ai configuré l'alerte pour afficher sur la vue contrôleur de viewDidLoad
du parent. Mais ce que je reconnais que ce n'est appelé la première fois la vue est appelée. Y at-il une méthode appelée chaque fois que je vais revenir à ce point de vue? thks!
La solution
Je devais enlever le -(void)viewDidAppear:(BOOL)animated;
afin que cela fonctionne:
-(void)viewWillAppear:(BOOL)animated
{
//YOUR CODE HERE (mine was the alert showing up)
}
Maintenant, l'alerte fonctionne parfaitement.
Autres conseils
Vous devriez essayer -(void)viewDidAppear:(BOOL)animated;
. Ne pas oublier d'appeler [super viewDidAppear:animated];
à un moment donné dans votre mise en œuvre.
Une autre façon d'attraper cet événement est d'utiliser une méthode déléguée:
-(void)navigationController:(UINavigationController *)navigationController
didShowViewController:(UIViewController *)viewController
animated:(BOOL)animated;
Vous pouvez trouver plus d'informations visiter Protocole UINavigationControllerDelegate Référence .