Tencent / QMUI_iOS

QMUI iOS——致力于提高项目 UI 开发效率的解决方案
http://qmuiteam.com/ios
Other
7.05k stars 1.37k forks source link

横屏启动App StatusBarHeight 等宏值不正确 #1445

Closed fanyuecheng closed 1 year ago

fanyuecheng commented 1 year ago

Bug 表现

当controller的supportedInterfaceOrientationsUIInterfaceOrientationMaskPortrait,但是iPhone屏幕方向未锁定的情况下,横屏启动App时,宏StatusBarHeight值不正确。

模拟器 iPhone14Pro:

NSLog(@"\n StatusBarHeight = %f", StatusBarHeight); NSLog(@"\n StatusBarHeightConstant = %f", StatusBarHeightConstant); NSLog(@"\n NavigationContentTop = %f", NavigationContentTop); NSLog(@"\n NavigationContentTopConstant = %f", NavigationContentTopConstant); NSLog(@"\n NavigationBarHeight = %f", NavigationBarHeight); NSLog(@"\n TabBarHeight = %f", TabBarHeight);

竖屏下启动: StatusBarHeight = 54.000000 StatusBarHeightConstant = 54.000000 NavigationContentTop = 98.000000 NavigationContentTopConstant = 98.000000 NavigationBarHeight = 0.000000
TabBarHeight = 83.000000

横屏下启动: StatusBarHeight = 0.000000 StatusBarHeightConstant = 0.000000 NavigationContentTop = 32.000000 NavigationContentTopConstant = 32.000000 NavigationBarHeight = 1080.000000 TabBarHeight = 53.000000

特别的,不知是不是xcode的bug: CGFloat h = NavigationBarHeight; NSLog(@"NavigationBarHeight = %f %f", h, NavigationBarHeight); 打印: NavigationBarHeight = 44.000000 0.000000 横屏下: NavigationBarHeight = 32.000000 2556.000000

其他信息

fanyuecheng commented 1 year ago

Test.zip