IOS15 SVProgressHUD 报UIWindow 无法识别错误
IOS15 SVProgressHUD 报UIWindow 无法识别错误
最近使用SVProgressHUD 频繁报错,令人头疼。
ios13 苹果引入SceneDelegate 生命周期有它管理。 导致SVProgressHUD找不到UIWindow。
我们需要在AppDelegate.h文件添加一个强引用。
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property(nonatomic,strong)UIWindow *window;
@end
直接导入头文件#import “SVProgressHUD.h”
书写
[SVProgressHUD showWithStatus:@"玩命加载中..."];
此时不报错了,细心的朋友可以发现HUD出现在屏幕的左上角,不在中心。
因为有 SceneDelegate.m存在 导致UIWindow找不到,或者找到错误的UIWindow的中心点,。我们直接修改SVProgressHUD.m源码。
导入
#import "SceneDelegate.h"
直接定位到655行。
修改成
#if !defined(SV_APP_EXTENSIONS) && TARGET_OS_IOSUIWindowScene* windowScene= (UIWindowScene *)[[[UIApplication sharedApplication] connectedScenes] allObjects].firstObject;SceneDelegate *delegate = (SceneDelegate *)windowScene.delegate;self.frame = delegate.window.bounds;UIInterfaceOrientation orientation = UIApplication.sharedApplication.statusBarOrientation;
#elif !defined(SV_APP_EXTENSIONS) && !TARGET_OS_IOS
// self.frame= [UIApplication sharedApplication].keyWindow.bounds;UIWindowScene* windowScene= (UIWindowScene *)[[[UIApplication sharedApplication] connectedScenes] allObjects].firstObject;SceneDelegate *delegate = (SceneDelegate *)windowScene.delegate;self.frame = delegate.window.bounds;
你可以为了不破坏源码本身,可以做个版本适配,
if(@available(ios 13,*)) Xxxxx.
我这里就没有搞系统版本适配。
此时运行就好了。
IOS15 SVProgressHUD 报UIWindow 无法识别错误相关推荐
- Netscaler 认证,访问报http 5000 内部错误
在VDI项目中,Netscaler经常与AD不在同一网络,有时在icaprofile中写的SF或WI的FQDN,访问VDI,会报http 5000 内部错误: 解决办法如下: 1.NS无法解析Stor ...
- “因人脸识别错误,我被捕了!”
来源:CSDN本文约1600字,建议阅读7分钟人脸识别究竟该如何使用? 通过人脸识别技术,低头,可以解锁手机:抬头,可以作为门禁.出入凭证等等.人工智能时代,在人脸识别带来便利的同时,潜在风险也无处不 ...
- jmeter发送json数据,报405、400错误解决方案
jmeter发送json数据,报405.400错误解决方案 参考文章: (1)jmeter发送json数据,报405.400错误解决方案 (2)https://www.cnblogs.com/sunn ...
- Nginx PHP 报504 Gateway time-out错误的解决方法
Nginx PHP 报504 Gateway time-out错误的解决方法 参考文章: (1)Nginx PHP 报504 Gateway time-out错误的解决方法 (2)https://ww ...
- 解决IntelliJ IDEA报错Error: java: 错误: 不支持发行版本 XX
解决IntelliJ IDEA报错Error: java: 错误: 不支持发行版本 XX 解决方法 1 解决方法 2 解决方法 3 笔者在做代码重构的时候,以前记得运行正常的代码,如今一直报错,百 ...
- webapi 找到了与请求匹配的多个操作(ajax报500,4的错误)
1.ajax报500,4的错误,然而多次验证自己的后台方法没错.然后跟踪到如下图的错误信息! 2.因为两个函数都是无参的,返回值也一样.如下图 3,我给第一个函数加了一个参数后,就不报错了,所以我想, ...
- jdbc mysql 存储过程执行失败_JDBC连接执行MySQL存储过程报空指针或权限错误
JDBC连接执行MySQL存储过程报空指针或权限错误 最近使用root用户编写了几个存储过程,但是使用普通用户通过JDBC连接执行却报错: java.lang.NullPointerException ...
- Oracle导入大数据量(百万以上)dmp文件,报错ora-12592 :包错误
进行自动化测试过程中,发现需要重新搭建一套自动化测试库,然后利用pl/sql对数据库导出: 进行导入后发现报错ora-12592 :包错误 原因分析,数据量过大,传输超时,需要在Oracle服务端以及 ...
- manjaro软件源报错 不停看到错误 “PackageName: signature from “User <email@archlinux.org>“ is invalid“ 的几种解决方法
manjaro软件源报错 不停看到错误 "PackageName: signature from "User " is invalid" 的几种解决方法 参考文 ...
最新文章
- SICP学习笔记(P27-P28)
- Django 与ajax交互
- 计组-CISC/RISC小节
- [Error]SyntaxError: unindent does not match any outer indentation level
- ddr4 lpddr4区别_i3 10100F和i5 9400F哪个好?区别有多大?两者性能对比评测_硬件评测...
- Spring Cloud Sleuth 原理简介和使用
- 【bzoj1194】 HNOI2006—潘多拉的盒子
- sever client
- u3d目标与摄像机之间的遮挡物变为透明
- Windows8.1-KB2999226-x64安装提示此更新不适用你的计算机
- matlab 积分后带int,matlab int 积分
- 利用js脚本自动批量删除微博内容
- 【OpenGL】斯坦福兔子、显示列表
- Unity Unlit ShaderGraph实现与PBR的自发光贴图类似的叠加效果
- keil5 c语言运行
- 历史气象数据网站及操作教程
- 【渝粤题库】国家开放大学2021春2026国际金融题目
- 大数据开发教程——构建Hadoop开发环境
- HackerEarth, The Grass Type (dsu on tree)
- java如何开发webservice接口
热门文章
- 五个数字从小到大排序java,五个数冒泡排序 用c语言数组定义5个数使用冒泡排序 从小到大...
- oracle行列转换关联union的方式_几行代码轻松玩转 Excel 行列转换
- springboot 跨域_SpringBoot跨域加SpringSecurity就失效
- mysql 空间 类型_MySQL空间类型测试
- 摆摊吗?我卖锅,你修手机。
- html转盘游戏,html5大转盘抽奖实例源码(基于vue.js)
- Markdown中如何输入上标、下标?
- java servlet .net_JAVA学习之 Model2中的Servlet与.NET一般处理程序傻傻分不清楚
- springmvc的执行流程_springmvc执行流程
- matlab hashset,MATLAB集合操作