2009-06-01 5 views
0

je déplace à mon avis parfaire quelque chose si vue des charges

[[self navigationController] popToViewController:controller animated:YES]; 

Dans ce ViewController, je ne suis pas en mesure d'obtenir un avis, qu'il revient à l'avant (par exemple par viewWillAppear). Je veux recharger une table, dès que la vue est à nouveau visible.

Comment obtenir un avis, que la vue revient à l'écran?

----> résolu: Voir mon dernier commentaire sur la réponse de Corey

Répondre

2

viewWillAppear devrait être appelé si vous utilisez un UINavigationController. Etes-vous sûr de l'avoir ajouté correctement à la hiérarchie de vue?

Avez-vous vérifié si viewWillDisappear est appelée lorsqu'elle est hors-écran?

Avez-vous essayé viewDidAppear juste pour être sûr?

Avez-vous épelé le nom de la méthode correctement?


Pour ajouter:

est l'instance de UINavigationController ajouté directement à l'instance UIWindow?

Les méthodes déléguées comme viewWillappear sont envoyées depuis UIApplication (je crois). UIApplication ne "connaît" viewControllers dont les vues sont soit:

  1. ajoutés directement à UIWindow.

  2. ajouté à une UINavigationController/UITabBarController qui est ajouté directement à UIWindow (ou une chaîne de celles-ci qui conduit à UIWindow).

+0

Merci pour votre réponse. Je ne vois rien de mal. Les événements comme viewWillDisappear, viewDidAppear ne sont pas appelés, aussi :-( J'ai ajouté la vue comme ceci: AddBoxViewController * addBoxController = [AddBoxViewController alloc]; [addBoxController initWithNibName: @ "AddBox" bundle: [NSBundle mainBundle]]; [self.navigationController pushViewController: addBoxController animé: YES]; – Stefan

+1

généralement lorsque viewDidLoad est appelée mais que les méthodes viewWillAppear/DidAppear ne sont pas appelées, la vue n'est pas ajoutée correctement à la hiérarchie. En outre, UINavigationController est-il ajouté directement à l'instance de UIWindow? Si ce n'est pas le cas, vous ne recevrez pas ces messages: –

+0

Ahhh Ok, je vois C'était l'erreur: J'ai implémenté viewWillAppear façon: - (void) viewWillAppear {...} Correct est: - (void) viewWillAppear: (BOOL) animée {...} Corey, merci de m'avoir orienté dans la bonne direction. – Stefan

Questions connexes