【问题标题】:How to hide Navigation and Status Bars when tapped - with animation点击时如何隐藏导航栏和状态栏 - 带有动画
【发布时间】:2015-10-11 11:33:31
【问题描述】:

我试图在点击视图时隐藏状态栏和导航栏。目前我从上一个问题中找到了一些可行的方法,但问题是隐藏栏时没有动画。它就这样消失了。

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

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

当我再次点击时,动画会在两个条回到屏幕上时起作用。

如果我不包含被覆盖的prefersStatusBarHidden 函数,我可以让导航栏隐藏并带有所需的滑动动画。但是状态栏还在。

有什么建议吗? Swift 2 有没有新方法可以工作?

【问题讨论】:

    标签: ios swift swift2


    【解决方案1】:

    试试这个

    var statusBarHidden = false
    
          func tapAction() {
        self.navigationController?.navigationBarHidden = true 
        self.statusBarHidden = true
            self.setNeedsStatusBarAppearanceUpdate()
            }
    
         override  func prefersStatusBarHidden() -> Bool {
                return  statusBarHidden
            }
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 我刚刚做了,但这对我没有任何改变。不管有没有prefersStatusBarHidden 功能,它只会隐藏导航栏,而状态栏的内容仍然存在。
      猜你喜欢
      • 2014-12-04
      • 2013-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多