QMUI_iOS icon indicating copy to clipboard operation
QMUI_iOS copied to clipboard

[UIKit Bug] 在主 window 之上再显示一个 window 后横屏,主 window 的布局错乱

Open MoLice opened this issue 4 years ago • 1 comments

Bug 表现

如何重现

  1. 主 window 的界面声明为只支持竖屏,浮层 window 声明为支持所有方向。
  2. 显示浮层 window 后横屏。
  3. 返回到系统桌面
  4. 再回到 App
  5. 可观察到背后的主 window 布局错乱。

测试项目 TestWindow.zip

预期的表现 背后的主 window 不受影响。

其他信息

  • 设备: [All]
  • iOS 版本: [All]
  • Xcode 版本: [Xcode 12.0]

MoLice avatar Oct 20 '20 12:10 MoLice

我也遇到此问题,解决方案: 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、强制刷新下页面布局,让其恢复,可以加动画,目测很快,动画没必要,几乎无感知

dujj avatar Dec 21 '20 09:12 dujj