0

J'ai eu ce problème pendant des mois avec plusieurs vues, à la fois Apple fourni comme ImagePicker et VCs de storyboard. Je crois que cela a quelque chose à voir avec les vues sous-jacentes, nous avons à la fois un contrôleur de barre d'onglets et un contrôleur de navigation dans la plupart des vues.Le démontage de ViewController présenté de manière modale me renvoie toujours à la racine

Une chose étrange utilise certaines vues open source des pods ne provoque pas ce bug.

Je suis deux vues profondes sur un contrôleur de navigation et de présenter une autre vue modalement sur le dessus avec present(vc, animated: true, completion: {})

fonctionne comme un charme, qui avait rejeté maintenant ce point de vue avec dismiss(animated: true, completion: nil) me rejette tout le chemin à la vue initiale ou vue racine du contrôleur de navigation, avait les deux se produisent avant, en fonction de la vue présentée.

Mise à jour:
Construire un exemple de projet en essayant de reproduire le comportement, mais a échoué. A dessiné un diagramme réduit pour mieux expliquer le comportement de bogue actuel. J'ai également remarqué que si j'appelle la vue post un peu plus tôt dans la vue Fandom, cela fonctionne comme prévu.

sketch

+2

L'appel de «rejeter» supprimera le contrôleur de vue à partir duquel vous l'avez appelé. Cependant, il n'y en a pas assez pour diagnostiquer votre problème. Je vous suggère de créer un [exemple minimal, mais complet, vérifiable du problème] (http://stackoverflow.com/help/mcve) (un MCVE). Commencez avec un projet vide et déterminez ce que vous devez ajouter pour reproduire votre problème. Mais jusqu'à ce que vous nous montriez ce que nous devons faire pour reproduire votre problème, nous ne pouvons pas vous aider. – Rob

+0

Créé un simple exemple de projet et, évidemment, il fonctionne comme prévu. J'essaie de déboguer le point d'entrée en ce moment, c'est un projet assez important sur lequel plusieurs personnes ont travaillé, donc je ne suis pas tout à fait sûr où, quand ou ce qui l'a cassé. Je mettrai à jour quand je trouverai plus d'informations. – TimLR

+0

L'autre approche consiste à prendre une copie de votre projet actuel et à commencer à extraire des données non reliées, en répétant le test au fur et à mesure pour voir si le problème se manifeste encore. Au cours de ce processus, vous identifierez probablement le problème. – Rob

Répondre

0

Dans mon cas, je me sers UITabBarController, et moi avons écrit le code dans viewWillAppear de UITabBarController

self.selectedIndex = 2 

donc quand je présente quelque chose de tout contrôleur dont le parent est UITabBarController et quand j'écartez il ouvre automatiquement le troisième onglet de UITabBarController.

Peut-être que vous avez explicitement écrit un code pour sélectionner l'index spécifique de TabBar.

Peut-être que c'est utile pour vous ou quelqu'un d'autre.