iOS 14 YYAnimatedImageView不顯示圖片,通過分類的方式對(duì)源碼進(jìn)行修改。
解決方法
新建YYAnimatedImageView的分類,實(shí)現(xiàn)以下方法
+ (void)load {
// 獲取系統(tǒng)的對(duì)象方法
Method displayLayerMethod = class_getInstanceMethod(self, @selector(displayLayer:));
// 獲取自己定義的對(duì)象方法
Method displayLayerNewMethod = class_getInstanceMethod(self, @selector(displayLayerNew:));
// 方法交換
method_exchangeImplementations(displayLayerMethod, displayLayerNewMethod);
}
- (void)displayLayerNew:(CALayer *)layer {
Ivar imgIvar = class_getInstanceVariable([self class], "_curFrame");
UIImage *img = object_getIvar(self, imgIvar);
if (img) {
layer.contents = (__bridge id)img.CGImage;
} else {
if (@available(iOS 14.0, *)) {
[super displayLayer:layer];
}
}
}