2009-10-22 11 views
4

J'ai une application de navigation et lorsque certaines erreurs se produisent, je veux vider l'utilisateur en arrière sur la vue, ils ont commencé à donc j'ai le code suivant exécuter dans ces conditions:popToRootViewControllerAnimated ne fonctionne pas correctement

[self.navigationController popToRootViewControllerAnimated:YES]; 

Quand exécute la vue racine n'est pas toujours affichée et/ou la barre de navigation aura un mauvais titre. Parfois, la barre de navigation aura même le bouton de retour sur elle et comment cela pourrait-il être sur ce qui est censé être la vue racine?

J'ai essayé d'utiliser NO pour le paramètre animé et cela n'a pas aidé.

J'ai également déplacé la logique de viewDidLoad dans viewWillAppear dans le contrôleur de racine depuis que j'ai initialement placé le titre dedans, et d'autres choses, et cela n'a pas aidé non plus. Le titre de la barre de navigation était toujours faux et un bouton de retour était toujours affiché dessus.

J'apprécierais quelques suggestions constructives. Pour info, je cours 3.1.2.

Répondre

2

Je ne sais pas si c'est la même chose, mais j'ai trouvé que si vous essayez de popToRoot sans un retard important de la poussée initiale du un ou plusieurs viewcontrollers les applications ne peuvent pas le gérer. J'ai eu la chance d'avoir une raison de mettre une fausse fenêtre d'attente dans mon application avec un retard de 2 secondes. Avec le retard en place, le même code popToRoot a bien fonctionné.

+0

Est-ce un bug connu? –

+0

Désolé, je ne suis pas sûr (et je n'ai pas fait de truc iOS depuis quelques années maintenant, donc je ne sais pas si cela se produit encore). – alan

Questions connexes