ios - 观察 UINavigationController 导航栏显示/隐藏
问题描述
我UINaviationController
添加storyboard
了诸如等之类的选定选项Hide Bars
On 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")
})
}
推荐阅读
- php - PHP - 从几个不同函数的变量中创建一个字符串,将字符串添加在一起
- ios - 从 C 中的 Apple 钥匙串中检索受信任的证书
- postgresql - 当父母和孩子在同一张桌子上时计算孩子
- java - 管理数据库事务
- javascript - 是否可以获取脚本块所在的父 HTML 元素?
- c# - WireMock.Net 有时如何响应错误而其他的 OK
- visual-studio - Visual Studio Code 运行 Chrome,Chrome 打开但连接被拒绝
- terraform - terraform 中不同项目中多个服务帐户的模块
- jira - 报告用户移动特定状态的次数
- plugins - 如何为 Magic Line 配置 CKEditor 以在其他元素上激活?