2015-10-09 142 views
2

我正在制作适用于iOS的键盘,并且需要检测状态栏何时更改高度,以便相应地更新我的键盘(即用户接到呼叫时)。不幸的是,UIApplication.sharedApplication()在第三方扩展中不可用,我无法通过这种方式获得高度。是否有可能以其他方式抓住它? 谢谢!如何获得第三方键盘的状态栏高度? (iOS)

回答

-2
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() 
} 
+0

这个'navigationController'从哪里来? – matt

+0

请给你的答案补充一些补充。 –

+0

对不起!这段代码适用于我的项目。我将在一个空的项目中重现这一点,并更新我的消息。 –