QMUI_iOS
QMUI_iOS copied to clipboard
[UIKit Bug] 在主 window 之上再显示一个 window 后横屏,主 window 的布局错乱
Bug 表现
如何重现
- 主 window 的界面声明为只支持竖屏,浮层 window 声明为支持所有方向。
- 显示浮层 window 后横屏。
- 返回到系统桌面
- 再回到 App
- 可观察到背后的主 window 布局错乱。
测试项目 TestWindow.zip
预期的表现 背后的主 window 不受影响。
其他信息
- 设备: [All]
- iOS 版本: [All]
- Xcode 版本: [Xcode 12.0]
我也遇到此问题,解决方案: 1、监控windows,消失事件 2、判断页面布局是否混乱: if UIUtils.isNotchedScreen { NSLog("screen bounds: (UIScreen.main.bounds), window bounds: (window.bounds)") if UIScreen.main.bounds != window.bounds { NSLog("screen change inset") window.rootViewController?.view.frame = window.bounds.insetBy(dx: 5, dy: 5) window.rootViewController?.view.frame = window.bounds } } 3、强制刷新下页面布局,让其恢复,可以加动画,目测很快,动画没必要,几乎无感知