通过查看类似问题的所有解决方案,我一直试图通过轻击手势显示/隐藏statusBar
。
我在plist中设置了View controller-based status bar appearance = NO
。
我在DataViewController
(页面视图控制器)和RootViewController
中尝试了以下代码:
let app = UIApplication.sharedApplication()
app.setStatusBarHidden(true, withAnimation: UIStatusBarAnimation.Fade)
它不起作用。
这是嵌入UITabBarController
,会有所作为吗?
另外,我能够从RootViewController
隐藏statusBar:
override func prefersStatusBarHidden() -> Bool {
return true
}
但DataViewController
甚至没有调用此函数,只能以这种方式永久隐藏它,而不是打开/关闭它。
有什么想法吗?
答案 0 :(得分:3)
我在代码中尝试过,一切都适合我。确保View controller-based status bar appearance
设置为否。并且无需覆盖prefersStatusBarHidden()
。
答案 1 :(得分:0)
如果您使用UIPageViewController
,则应在RootViewController
如果您有navigationController
,它也会隐藏它
on ViewDidLoad()
self.navigationController?.hidesBarsOnTap = true
并使用此方法根据navigationBar
是否隐藏来隐藏或显示状态栏
override func prefersStatusBarHidden() -> Bool {
if self.navigationController?.navigationBarHidden == true {
return true
}
else
{
return false
}
}