Closed nevsee closed 1 year ago
并没有错?50是哪里测到的?
难道是iOS15 才会这样?
以 iPhone 12 mini 为例。
在 iOS 14 里,这几个的值为:
StatusBarHeight = 44;
StatusBarHeightConstant = 44;
CGRectGetHeight(UIApplication.sharedApplication.statusBarFrame) = 44;
navigationBar.minY = 50; // 关键在这里,statusBar 底部是44,navigationBar 顶部却是 50,意味着中间有6的空隙
navigationBar.maxY = 94;// 对业务的内容布局无影响,不管 iOS 14、15 都是94
在 iOS 15 里,这几个的值为:
StatusBarHeight = 50;
StatusBarHeightConstant = 44;
CGRectGetHeight(UIApplication.sharedApplication.statusBarFrame) = 50;
navigationBar.minY = 50;// iOS 15 里两个 bar 从 frame 的角度来看是紧贴在一起的
navigationBar.maxY = 94;// 对业务的内容布局无影响,不管 iOS 14、15 都是94
不清楚系统在 iOS 14 下为什么会有 statusBar 是 44 但 navigationBar.minY 是 50 的区别,iOS 14 里 QMUI 的宏的值保证与系统动态获取的值一致即可。 iOS 15 下调整为返回 50。
但业务布局建议统一都以 UIViewController.qmui_navigationBarMaxYInViewCoordinator
为参考标准,就不会表现出这种差异。
issue 里提的场景应该有个前提,就是 statusBarHidden = YES,issue 当初并没有明确指出,新版本将会重新修复这个问题。
12mini和13mini高度为50