升级xcode12后,编译运行App发现大片的图片空白(加载不出来),包括weex的图片和SDWebImage的图片都有问题。
发现是iOS 14下UIKit对 displayLayer:的处理机制有所变化。
在iOS 14之前,UIKit在调用这个方法之前就会去渲染UIImageView.image。
而在iOS 14,UIKit则是先去调用代理方法,如果你实现了displayLayer:这个方法,那么UIKit就不会再去渲染了
iOS 14: UIKit no longer render anything if you override that displayLayer: method.
解决方案:
找到WXLayer.m文件中修改为下代码即可
- (void)display
{
if(@available(iOS 14.0, *)) {
[super display];
}
[self.wx_component _willDisplayLayer:self];
}