【发布时间】:2015-10-09 13:10:28
【问题描述】:
我正在为 iOS 制作键盘,需要检测状态栏何时改变高度以便能够相应地更新我的键盘(即当用户接到电话时)。不幸的是,UIApplication.sharedApplication() 在第三方扩展中不可用,我无法通过这种方式获得高度。是否有可能以其他方式抓住它?
谢谢!
【问题讨论】:
标签: ios swift keyboard statusbar
我正在为 iOS 制作键盘,需要检测状态栏何时改变高度以便能够相应地更新我的键盘(即当用户接到电话时)。不幸的是,UIApplication.sharedApplication() 在第三方扩展中不可用,我无法通过这种方式获得高度。是否有可能以其他方式抓住它?
谢谢!
【问题讨论】:
标签: ios swift keyboard statusbar
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let navigationController: UINavigationController = .init()
view.addSubview(navigationController.view)
let statusBarHeight = navigationController.view.readableContentGuide.layoutFrame.origin.y
print(statusBarHeight) // 44.0 (iPhone X) / 20.0 (iPhone SE)
navigationController.view.removeFromSuperview()
}
【讨论】:
navigationController是从哪里来的?