我的uinavigationbar有一个子视图。我在索引0处添加了。当我用动画推动某个控制器时,子视图会显示并隐藏导航项,但如果我按下没有动画的控制器,则子视图会保留在项目下方。它只发生在iOS 10中。我无法理解为什么会这样。
答案 0 :(得分:0)
当我推送或弹出新的视图控制器时,导航栏子视图重新排序时遇到了类似的问题。
我的工作实际上是通过UINavigationController
方法在我的基础viewDidLoad
上设置代理,并在navigationController:willShow:
委托方法中重置导航栏上的可见性。
override func viewDidLoad() {
super.viewDidLoad()
delegate = self
}
func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool) {
guard let hidden = viewController.navigationController?.isNavigationBarHidden else { return }
viewController.navigationController?.isNavigationBarHidden = !hidden
viewController.navigationController?.isNavigationBarHidden = hidden
}
UIKit¯_(ツ)_ /¯