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 无法识别错误相关推荐

  1. Netscaler 认证,访问报http 5000 内部错误

    在VDI项目中,Netscaler经常与AD不在同一网络,有时在icaprofile中写的SF或WI的FQDN,访问VDI,会报http 5000 内部错误: 解决办法如下: 1.NS无法解析Stor ...

  2. “因人脸识别错误,我被捕了!”

    来源:CSDN本文约1600字,建议阅读7分钟人脸识别究竟该如何使用? 通过人脸识别技术,低头,可以解锁手机:抬头,可以作为门禁.出入凭证等等.人工智能时代,在人脸识别带来便利的同时,潜在风险也无处不 ...

  3. jmeter发送json数据,报405、400错误解决方案

    jmeter发送json数据,报405.400错误解决方案 参考文章: (1)jmeter发送json数据,报405.400错误解决方案 (2)https://www.cnblogs.com/sunn ...

  4. Nginx PHP 报504 Gateway time-out错误的解决方法

    Nginx PHP 报504 Gateway time-out错误的解决方法 参考文章: (1)Nginx PHP 报504 Gateway time-out错误的解决方法 (2)https://ww ...

  5. 解决IntelliJ IDEA报错Error: java: 错误: 不支持发行版本 XX

    解决IntelliJ IDEA报错Error: java: 错误: 不支持发行版本 XX 解决方法 1 解决方法 2 解决方法 3   笔者在做代码重构的时候,以前记得运行正常的代码,如今一直报错,百 ...

  6. webapi 找到了与请求匹配的多个操作(ajax报500,4的错误)

    1.ajax报500,4的错误,然而多次验证自己的后台方法没错.然后跟踪到如下图的错误信息! 2.因为两个函数都是无参的,返回值也一样.如下图 3,我给第一个函数加了一个参数后,就不报错了,所以我想, ...

  7. jdbc mysql 存储过程执行失败_JDBC连接执行MySQL存储过程报空指针或权限错误

    JDBC连接执行MySQL存储过程报空指针或权限错误 最近使用root用户编写了几个存储过程,但是使用普通用户通过JDBC连接执行却报错: java.lang.NullPointerException ...

  8. Oracle导入大数据量(百万以上)dmp文件,报错ora-12592 :包错误

    进行自动化测试过程中,发现需要重新搭建一套自动化测试库,然后利用pl/sql对数据库导出: 进行导入后发现报错ora-12592 :包错误 原因分析,数据量过大,传输超时,需要在Oracle服务端以及 ...

  9. manjaro软件源报错 不停看到错误 “PackageName: signature from “User <email@archlinux.org>“ is invalid“ 的几种解决方法

    manjaro软件源报错 不停看到错误 "PackageName: signature from "User " is invalid" 的几种解决方法 参考文 ...

最新文章

  1. SICP学习笔记(P27-P28)
  2. Django 与ajax交互
  3. 计组-CISC/RISC小节
  4. [Error]SyntaxError: unindent does not match any outer indentation level
  5. ddr4 lpddr4区别_i3 10100F和i5 9400F哪个好?区别有多大?两者性能对比评测_硬件评测...
  6. Spring Cloud Sleuth 原理简介和使用
  7. 【bzoj1194】 HNOI2006—潘多拉的盒子
  8. sever client
  9. u3d目标与摄像机之间的遮挡物变为透明
  10. Windows8.1-KB2999226-x64安装提示此更新不适用你的计算机
  11. matlab 积分后带int,matlab int 积分
  12. 利用js脚本自动批量删除微博内容
  13. 【OpenGL】斯坦福兔子、显示列表
  14. Unity Unlit ShaderGraph实现与PBR的自发光贴图类似的叠加效果
  15. keil5 c语言运行
  16. 历史气象数据网站及操作教程
  17. 【渝粤题库】国家开放大学2021春2026国际金融题目
  18. 大数据开发教程——构建Hadoop开发环境
  19. HackerEarth, The Grass Type (dsu on tree)
  20. java如何开发webservice接口

热门文章

  1. 五个数字从小到大排序java,五个数冒泡排序 用c语言数组定义5个数使用冒泡排序 从小到大...
  2. oracle行列转换关联union的方式_几行代码轻松玩转 Excel 行列转换
  3. springboot 跨域_SpringBoot跨域加SpringSecurity就失效
  4. mysql 空间 类型_MySQL空间类型测试
  5. 摆摊吗?我卖锅,你修手机。
  6. html转盘游戏,html5大转盘抽奖实例源码(基于vue.js)
  7. Markdown中如何输入上标、下标?
  8. java servlet .net_JAVA学习之 Model2中的Servlet与.NET一般处理程序傻傻分不清楚
  9. springmvc的执行流程_springmvc执行流程
  10. matlab hashset,MATLAB集合操作