我想知道iOS人机界面指南是否可以为UIView设置样式,使其外观和行为类似于导航栏。
我的问题是,我希望在用户滚动后隐藏我当前的导航栏。
我已经尝试了self.navigationController?.setNavigationBarHidden(true, animated: true)
和navigationController?.hidesBarsOnSwipe = true
,但动画看起来很奇怪,一旦导航栏被隐藏,我仍然在状态栏下有大约20px的空间:你可以查看我的其他question < / p>
所以为了让事情变得简单,我是否可以初始化我的视图,隐藏导航栏并设置自己的样式并添加适当的动画?
答案 0 :(得分:0)
试试这个:
extension YourViewController {
override func prefersStatusBarHidden() -> Bool {
return barsHidden // Custom property
}
override func preferredStatusBarUpdateAnimation() -> UIStatusBarAnimation {
return .Slide
}
}
你必须在代码中的某处更新barsHidden并调用setNeedsStatusBarAppearanceUpdate()方法。