我正在尝试使用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
}
}
需要先更新。
真正的原因是什么,还有没有更好的方法来等待正确的状态栏框架高度?