UIApplication statusBarFrame在didChangeStatusBarFrame之后不是最新的

时间:2019-01-24 19:13:15

标签: ios swift appdelegate uiapplication

我正在尝试使用window.onbeforeunload = () => "";获取更新的状态栏框架高度,但是…

新的/更新的框架不是最新的,有时返回旧的高度,有时返回新的(正确的)高度。

didChangeStatusBarFrame

我当前的解决方法是使用func application(_ application: UIApplication, didChangeStatusBarFrame oldStatusBarFrame: CGRect) { print(UIApplication.shared.statusBarFrame.height) // Sometimes wrong }

DispatchQueue.main.async

我想这是因为某些布局在后台发生,func application(_ application: UIApplication, didChangeStatusBarFrame oldStatusBarFrame: CGRect) { DispatchQueue.main.async { print(UIApplication.shared.statusBarFrame.height) // So far correct in all my tests } } 需要先更新。

真正的原因是什么,还有没有更好的方法来等待正确的状态栏框架高度?

0 个答案:

没有答案