2010-03-15 4 views
0

messagecontroller n'est rien d'autre que l'objet d'initialiser le fichier nib.simple question de pushViewController

[self.navigationController pushViewController:messageController animated:YES]; 

exécution de cette instruction dans l'état normal

cette déclaration fonctionne également sur les tests de maintainace d'état, cette ligne exécute correctement mais pas ouvrir une nouvelle vue, pourquoi?

Répondre

0

L'appel de cette méthode n'appelle pas une nouvelle vue? Si cela est la question que vous devriez vous poser quelques questions:

  1. est-self ayant un UINavigationController? Assurez-vous que self est un contrôleur de vue à l'intérieur un contrôleur de navigation.

  2. Est-ce que messageController a été initialisé correctement ? Comme ceci par exemple (si messageController est un Ivar):

    messageController = [[MyViewControllerClass alloc] initWithNibName:@"MyViewControllerClassNibName" bundle:nil]; 
    
+0

ok 1> mon 5 e vue est acontroller il a 1 UIButton quand je clique sur UIButton bcontroller ouvre il fonctionne parfaitement deuxième type d'opération 2> maintenant je vais au 5 contrôleur qui est acontroller maintenant je presse le bouton d'accueil 3> maintenant quand je clique à nouveau sur l'application je vais directement à l'acontroller selon la règle de maintenance d'état. maintenant quand je clique UIButton bcontroller view n'ouvre pas pourquoi le code pour pousser la vue sur le clic de UIButton [self.navigationController pushViewController: bcontroller animé: YES]; – user217572

+0

quelle est mon erreur ??? – user217572

+0

Ne sait pas. Donc, vous restaurez la pile du contrôleur de navigation lorsque l'utilisateur ouvre à nouveau l'application et en appuyant sur 'bcontroller' ne fonctionne plus !? On dirait que vous l'avez fait pour moi. La seule chose que je peux ajouter est que vous vérifiez exactement quelles différences existent entre le comportement "normal" et celui que vous obtenez lorsque vous "chargez" l'état précédent. – bddckr