隐藏滚动上的导航栏

时间:2016-10-21 11:27:19

标签: ios swift xcode navbar

我想知道iOS人机界面指南是否可以为UIView设置样式,使其外观和行为类似于导航栏。

我的问题是,我希望在用户滚动后隐藏我当前的导航栏。 我已经尝试了self.navigationController?.setNavigationBarHidden(true, animated: true)navigationController?.hidesBarsOnSwipe = true,但动画看起来很奇怪,一旦导航栏被隐藏,我仍然在状态栏下有大约20px的空间:你可以查看我的其他question < / p>

所以为了让事情变得简单,我是否可以初始化我的视图,隐藏导航栏并设置自己的样式并添加适当的动画?

1 个答案:

答案 0 :(得分:0)

试试这个:

extension YourViewController {
   override func prefersStatusBarHidden() -> Bool {
      return barsHidden // Custom property
   }

   override func preferredStatusBarUpdateAnimation() -> UIStatusBarAnimation {
      return .Slide
   }
}

你必须在代码中的某处更新barsHidden并调用setNeedsStatusBarAppearanceUpdate()方法。