如何使用点击手势(iOS 8 / Swift)在pageViewController上显示/隐藏状态栏

时间:2014-11-20 05:25:05

标签: ios swift ios8 statusbar uipageviewcontroller

通过查看类似问题的所有解决方案,我一直试图通过轻击手势显示/隐藏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甚至没有调用此函数,只能以这种方式永久隐藏它,而不是打开/关闭它。

有什么想法吗?

2 个答案:

答案 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
        }
   }