使用 UIWindowSceneDelegate 的项目,QMUIPopupMenuView 无法以 window 的方式显示
Bug 表现 问题的具体描述 用Xcode11 新创建的项目,带有SceneDelegate。 如果不做任何处理,用第一种方式,QMUIPopupMenuView show会闪退,参照网上的解决方案,做了如下处理
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
let appDelegate = UIApplication.shared.delegate as! AppDelegate
appDelegate.window = window
guard let _ = (scene as? UIWindowScene) else { return }
}
处理之后,浮窗不展示。怀疑和iOS13的 UIWindowScene有关
相关链接 https://stackoverflow.com/questions/57060606/uiwindow-not-showing-over-content-in-ios-13 截图 Bug 现场的界面截图,或者 Xcode 控制台的错误信息截图,有问题的代码截图
如何重现
- ...
- ...
预期的表现 正常情况下,应该是什么表现
其他信息
- 设备: [例如模拟器、iPhone、iPad]
- iOS 版本: [iOS 13.x]
- Xcode 版本: [Xcode 11.x]
- QMUI 版本: [4.x.x]
UIWindowScene 引发的系列问题会在后续的版本里统一修复。
@MoLice 我看版本升级到了4.0.4 这个问题修复了吗
@L1cardo 还没有,这个是大工程,还在处理中
希望能尽快发布修改版本, THX~
希望能尽快出适配UIWindowSceneDelegate的新版本,辛苦了
努力中,我们也很想尽快,哈哈哈
这个问题很久了,越来越多的人都会遇到。请问SDK没有修复的时候,能不能给大家一个建议呢?
这个问题很久了,越来越多的人都会遇到。请问SDK没有修复的时候,能不能给大家一个建议呢?
@pomin
- 项目不要使用 UIWindowScene(大部分人只是因为 Xcode 自动帮你使用,而不是业务真的有这个需求)。
- 如果组件支持,使用非 window 方式去展示(例如 QMUIPopupMenuView 就支持以 subview 方式而不是 window 方式,QMUIModalPresentationViewController 支持以 present 方式而不是 window 方式)。
- 项目一定要用 UIWindowScene、组件也不支持非 window 方式使用,目前无法解决。
这个问题很久了,越来越多的人都会遇到。请问SDK没有修复的时候,能不能给大家一个建议呢?
@pomin
- 项目不要使用 UIWindowScene(大部分人只是因为 Xcode 自动帮你使用,而不是业务真的有这个需求)。
- 如果组件支持,使用非 window 方式去展示(例如 QMUIPopupMenuView 就支持以 subview 方式而不是 window 方式,QMUIModalPresentationViewController 支持以 present 方式而不是 window 方式)。
- 项目一定要用 UIWindowScene、组件也不支持非 window 方式使用,目前无法解决。
我现在开发Mac Catalyst必须使用WindowScene,现在最低版本只支持13了,这个适配也得加快了吧。
这个问题很久了,越来越多的人都会遇到。请问SDK没有修复的时候,能不能给大家一个建议呢?
@pomin
- 项目不要使用 UIWindowScene(大部分人只是因为 Xcode 自动帮你使用,而不是业务真的有这个需求)。
- 如果组件支持,使用非 window 方式去展示(例如 QMUIPopupMenuView 就支持以 subview 方式而不是 window 方式,QMUIModalPresentationViewController 支持以 present 方式而不是 window 方式)。
- 项目一定要用 UIWindowScene、组件也不支持非 window 方式使用,目前无法解决。
我现在开发Mac Catalyst必须使用WindowScene,现在最低版本只支持13了,这个适配也得加快了吧。
Mac Catalyst不是必须用UIWindowScene
这个问题很久了,越来越多的人都会遇到。请问SDK没有修复的时候,能不能给大家一个建议呢?
@pomin
- 项目不要使用 UIWindowScene(大部分人只是因为 Xcode 自动帮你使用,而不是业务真的有这个需求)。
- 如果组件支持,使用非 window 方式去展示(例如 QMUIPopupMenuView 就支持以 subview 方式而不是 window 方式,QMUIModalPresentationViewController 支持以 present 方式而不是 window 方式)。
- 项目一定要用 UIWindowScene、组件也不支持非 window 方式使用,目前无法解决。
我现在开发Mac Catalyst必须使用WindowScene,现在最低版本只支持13了,这个适配也得加快了吧。
Mac Catalyst不是必须用UIWindowScene
可是我监听窗口的改变只能通过SceneDelegate,某些场景需要新建Scene,而且我不想通过插件的方式使用AppKit
Any update?
仍然没有任何解决该问题的更新版本吗?