【发布时间】:2017-07-11 23:13:28
【问题描述】:
我关注this answer 并添加了UIGestureRecognizer 以显示或隐藏导航栏和工具栏。奇怪的是,导航栏在隐藏时并没有滑动,但当它重新出现时它仍然会滑动。工具栏一直在动画。
我把代码改成:
override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation {
print("got called")
return UIStatusBarAnimation.slide
}
查看当它隐藏并被调用时是否被调用。我还尝试按照 cmets 的建议将 automaticallyAdjustsScrollViewInsets 设置为 false,但仍然没有运气。
我在任何地方都找不到有关此问题的任何信息。
编辑:这是我的完整代码:
override func viewDidLoad(){
super.viewDidLoad()
self.automaticallyAdjustsScrollViewInsets = false
let gesture = UITapGestureRecognizer(target: self, action: #selector(toggle))
view.isUserInteractionEnabled = true
view.addGestureRecognizer(gesture)
}
func toggle() {
navigationController?.setNavigationBarHidden(navigationController?.isNavigationBarHidden == false, animated: true)
navigationController?.setToolbarHidden(navigationController?.isToolbarHidden == false, animated: true)
}
override var prefersStatusBarHidden: Bool {
print("got called 1")
return navigationController?.isNavigationBarHidden == true
}
override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation {
print("got called 2")
return UIStatusBarAnimation.slide
}
【问题讨论】:
标签: ios iphone swift swift3 uistatusbar