我有一个UINavigationController
和我推动和流行的看法,但在一些观点,我要到特定的视图从堆栈所以我用这个代码。它的工作原理,但导航栏消失。
for controller in self.navigationController!.viewControllers as Array {
if controller.isKind(of: HomeViewController.self) {
self.navigationController!.popToViewController(controller, animated: true)
break
}
}
在你HomeViewController,你可以尝试以下方法:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.setNavigationBarHidden(false, animated: animated)
}
您可以通过编程显示导航栏作为同上的评论中提到,或者如果你正在使用的XCode界面生成器,你可能还需要保证状态栏在视图的特性的模拟度量区域中的每个视图正确定义 - 这适用于非故事板布局。 Simulated Metrics Section of properties in XCode Interface Builder
你可以试着回答提出@ldem
然而,你也可以尝试呈现视图,而不是弹出
这样的变化
self.navigationController!.popToViewController(controller, animated: true)
至
self.present(controller, animated: true, completion: nil)