点击时如何隐藏导航栏和状态栏 - 带动画

How to hide Navigation and Status Bars when tapped - with animation

我试图在点击视图时隐藏我的状态栏和导航栏。目前我从上一个问题中找到了一些有用的东西,但问题是隐藏条形图时没有动画。它就这么消失了。

这是我的视图控制器中的当前代码:

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

当我再次点击时,当两个条重新出现在屏幕上时动画开始工作。

如果我不包括重写的 prefersStatusBarHidden 函数,我可以让导航栏隐藏并显示所需的滑动动画。但是状态栏还在。

有什么建议吗? Swift2有没有新的方法可以用?

你在 info.plist 中设置了 View controller-based status bar appearance = NO 了吗?

Try this

var statusBarHidden = false

      func tapAction() {
    self.navigationController?.navigationBarHidden = true 
    self.statusBarHidden = true
        self.setNeedsStatusBarAppearanceUpdate()
        }

     override  func prefersStatusBarHidden() -> Bool {
            return  statusBarHidden
        }