观察 UINavigation控制器导航栏显示/隐藏



我通过storyboard添加了UINaviationController,其中包含Hide BarsOn Tap等选定选项。我想知道对导航栏和工具栏显示/隐藏做出反应的最佳解决方案是什么。我尝试覆盖UINavigationController和方法,例如setNavigationBarHidden(_ hidden: Bool, animated: Bool),但当您点击隐藏时不会调用它。我认为有可能观察到一些变量,但我不确定是哪一个以及它是否有效。

你可以试试

var ob:NSKeyValueObservation?
override func viewDidLoad() {
super.viewDidLoad()
ob = self.navigationController?.observe(.navigationBar.isHidden, options: [.new], changeHandler: { (nav, ob) in
print("ok")
})
}

最新更新