繁体   English   中英

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

[英]How can I show/hide the status bar on a pageViewController using tap gesture (iOS8 / Swift)

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

有任何想法吗?

我在代码中尝试过,一切都适合我。 确保View controller-based status bar appearance设置为NO 并且不需要覆盖prefersStatusBarHidden()

如果您使用UIPageViewController那么您应该在RootViewController使用此代码

如果你有一个navigationController它也会隐藏它

ViewDidLoad()

self.navigationController?.hidesBarsOnTap = true

并使用此方法根据是否隐藏navigationBar来隐藏或显示状态栏

override func prefersStatusBarHidden() -> Bool {
        if self.navigationController?.navigationBarHidden == true {
            return true
        }
        else
        {
            return false
        }
   }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM