我有一个隐藏navigationBar和statusBar的视图控制器。当viewController推送到一个新的viewController时,我想要显示navigationBar和statusBar,结果是这样的:
在viewDidLoad中,我这样做:
self.navigationController?.navigationBar.barStyle = .default
self.navigationController?.setNavigationBarHidden(false, animated: false)
UIApplication.shared.setStatusBarHidden(false, with: UIStatusBarAnimation.none)
如果我点击应用程序中的某个标签项,然后返回显示视图控制器的同一选项卡,导航栏会正确显示,而不显示黑条:
知道如何正确显示navigationBar吗?
答案 0 :(得分:1)
我是这样做的:
导航栏(在每个视图控制器中设置此项)
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.isNavigationBarHidden = true
}
状态栏(在每个视图控制器中设置此项)
override var prefersStatusBarHidden: Bool {
return true
}
显然,根据需要设置true / false。通过在每个视图控制器中执行此操作,您可以确保事物的行为符合您的要求(true == hide)。