先看结论:
(1)iOS 13以上 window不再由AppDelegate来管理,所以通过AppDelegate来设置keyWindowAndVisable不会显示我们的自定义Window;需通过connectedScenes来获取处于活跃状态的Scene,并将window的windowScene设置为活跃状态的Scene,完成windowScene的注册。此时该window则由该Scene来管理,才能显示。
(2)iOS13以下 window 的 windowScene 属性有值;iOS13以上 window 的 windowScene 属性无值,需要手动赋值;
代码如下:
调用该方法,传入需要显示的自定义window即可。
+ (void)iOS13ShowCustomWindowWithWindow:(UIWindow *)window {
if (@available(iOS 13.0, *)) {
NSArray *array = [[[UIApplication sharedApplication] connectedScenes] allObjects];
//iOS 13以上 window不再由AppDelegate来管理,所以通过AppDelegate来设置keyWindowAndVisable无效;需通过connectedScenes来获取处于活跃状态的Scene,并将window的windowScene设置为活跃状态的Scene,完成windowScene的注册。此时该window则由该Scene来管理,才能显示
//iOS13以下 window 的 windowScene 属性有值;iOS13以上 window 的 windowScene 属性无值,需要手动赋值
if (!window.windowScene) {
for (UIWindowScene *windowScene in array) {
if (windowScene.activationState == UISceneActivationStateForegroundActive) {
window.windowScene = windowScene;
return;
}
}
}
}
}
【信息由网络或者个人提供,如有涉及版权请联系COOY资源网邮箱处理】
© 版权声明
本平台(www.cooy.cn)的一切软件、教程及内容信息仅限用于学习和研究,付费仅为收集整理归类费用;
不得将上述内容用于商业或者非法用途,否则一切后果用户自行承担负责。本平台资源、内容、信息均来自来自用户上传,版权争议及其他问题与本平台无关。
您必须在下载后的24个小时之内从您的电脑或手机中彻底删除上述下载内容,如果您喜欢该程序或内容,请支持正版以获取更好的服务。我们非常重视版权问题,如有侵权请发送邮件至下方邮件(655465@qq.com),敬请谅解!
如发现违法违规内容,请联系下方邮箱举报,我们收到后将会第一时间处理。
THE END
暂无评论内容