J'ai un UinavigationController Code> et je repousse et que je pense que, dans certaines vues, je veux aller à la vue spécifique de la pile afin que j'utilise ce code. Cela fonctionne, mais le bar NAV disparaît.
for controller in self.navigationController!.viewControllers as Array {
if controller.isKind(of: HomeViewController.self) {
self.navigationController!.popToViewController(controller, animated: true)
break
}
}
3 Réponses :
Dans votre homologue de messagerie homologue, vous pouvez essayer ce qui suit:
override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) self.navigationController?.setNavigationBarHidden(false, animated: animated) }
Bien sûr, cette fonction "SETNAVIGATIONBARDITDENDENDENDEND" fait savoir ce que le nom l'implique, il vous permet de décider si vous souhaitez masquer ou montrer votre barre de navigation. Quant à la raison pour laquelle votre bar NAV a disparu lorsque vous avez sauté à la maisonVC, je devrais vérifier votre code pour répondre. Le plus commun (au moins dans mes projets) est que le VC précédent dans la hiérarchie de vue a eu sa barre de navigation NAV cachée.
Vous pouvez afficher programmatiquement la barre de navigation mentionnée dans le commentaire de Idem, ou si vous utilisez Xcode Interface Builder, vous pouvez également vous assurer que la barre d'état est correctement définie pour chaque vue dans la zone de métriques simulées des propriétés de la Vue - cela fonctionne pour les mises en page non-storyboard. Section des métriques simulées des propriétés du constructeur d'interface XCode P>
Vous pouvez essayer de répondre proposé par @ldem
Cependant, vous pouvez également essayer de présenter la vue plutôt que de simplement apparaître p>
donc modifier p> à p>