Gif 加载和存储
Gif loading and storing
UIImage *image = [[SDImageCache sharedImageCache] imageFromDiskCacheForKey:_actualImageURL.absoluteString];
if(!image) {
image = [UIImage imageNamed:@"placeholderImage"];
[self makeImageAvailableAtURL:_actualImageURL];
}
self.messageImage.image = [image isImageGif] ? image.images.lastObject : image;
我们正在从服务器加载图像。如果它是一些 gif 图片,我们会得到带有 .images
的图片(我没有其他方法可以理解它是不是 gif)。
- (BOOL)isImageGif {
return self.images;
}
但是如果我们用
存储 gif 图片
[[SDImageCache sharedImageCache] storeImage:image forKey:wImageURL.absoluteString];
,输了.images
。
知道如何处理吗?
嗯,解决方案是使用:
[[SDImageCache sharedImageCache] storeImage:image recalculateFromImage:NO imageData:data forKey:key toDisk:YES];
而只是:
[[SDImageCache sharedImageCache] storeImage:image forKey:key];
UIImage *image = [[SDImageCache sharedImageCache] imageFromDiskCacheForKey:_actualImageURL.absoluteString];
if(!image) {
image = [UIImage imageNamed:@"placeholderImage"];
[self makeImageAvailableAtURL:_actualImageURL];
}
self.messageImage.image = [image isImageGif] ? image.images.lastObject : image;
我们正在从服务器加载图像。如果它是一些 gif 图片,我们会得到带有 .images
的图片(我没有其他方法可以理解它是不是 gif)。
- (BOOL)isImageGif {
return self.images;
}
但是如果我们用
存储 gif 图片 [[SDImageCache sharedImageCache] storeImage:image forKey:wImageURL.absoluteString];
,输了.images
。
知道如何处理吗?
嗯,解决方案是使用:
[[SDImageCache sharedImageCache] storeImage:image recalculateFromImage:NO imageData:data forKey:key toDisk:YES];
而只是:
[[SDImageCache sharedImageCache] storeImage:image forKey:key];