观察UINavigationController navigationBar显示/隐藏

时间:2018-09-24 18:54:17

标签: ios swift uinavigationcontroller

我通过UINaviationController添加了storyboard,并选择了Hide Bars On Tap等选定的选项。我想知道什么是对NavigationBar和工具栏显示做出反应的最佳解决方案/皮。我尝试覆盖UINavigationController和类似setNavigationBarHidden(_ hidden: Bool, animated: Bool)的方法,但是在您单击以隐藏时不会调用此方法。我认为可能有可能观察到一些变量,但是我不确定哪个变量是否可行。

1 个答案:

答案 0 :(得分:2)

您可以尝试

var ob:NSKeyValueObservation?

override func viewDidLoad() {
    super.viewDidLoad()

    ob = self.navigationController?.observe(\.navigationBar.isHidden, options: [.new], changeHandler: { (nav, ob) in
        print("ok")
    })
}