在升级到iOS17后你会发现,之前版本运行的很好,这个版本突然会出现一个运行闪退。报错日志为*** Assertion failure in void _UIGraphicsBeginImageContextWithOptions(CGSize, BOOL, CGFloat, BOOL)(), UIGraphics.m:410

跟踪到具体的报错位置如下所示:

UIGraphicsBeginImageContextWithOptions(size, NO, 0);

根据查阅的资料,iOS 17上使用UIGraphicsBeginImageContext(),size为0时,就会报相同的错误。 我估计我这个问题应该是top和bottom设置为0的原因,内部也是通过UIGraphicsBeginImageContext()实现的导致;

看官方API时,也会发现UIGraphicsBeginImageContext()这个方法也被废弃了被UIGraphicsImageRenderer替代,如下所示:

所以根据API的提示,为了解决这个问题,我们就需要去改造当前方法,如下所示:

这样就解决了,新版本崩溃问题的;

好文阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。