【发布时间】:2016-04-24 08:35:20
【问题描述】:
我正在为我的 iOS 项目使用 SDWebImage。 SDWebImage 具有强大的功能,可以在基于 URL 提取图片时将图片缓存在内存中以及磁盘中。但是,我们是否也可以让图片(由 SDWebImage 缓存)在图片库中可用?这允许用户查看他们使用照片库下载的图片,还允许其他应用程序也可以使用这些图片。
【问题讨论】:
标签: ios objective-c sdwebimage
我正在为我的 iOS 项目使用 SDWebImage。 SDWebImage 具有强大的功能,可以在基于 URL 提取图片时将图片缓存在内存中以及磁盘中。但是,我们是否也可以让图片(由 SDWebImage 缓存)在图片库中可用?这允许用户查看他们使用照片库下载的图片,还允许其他应用程序也可以使用这些图片。
【问题讨论】:
标签: ios objective-c sdwebimage
您可以在 SDWebImage 将图像加载到您的 UIImageView 后获取图像,如下所示:
[self.imageView sd_setImageWithURL:url
placeholderImage:placeholder
options:options
progress:nil
completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
if (image) {
// save to photo album here
}
}
];
我使用这个库将照片保存到自定义相册:
https://github.com/Kjuly/ALAssetsLibrary-CustomPhotoAlbum
这里是使用这个库的示例代码:
ALAssetsLibrary *assetsLibrary = [[ALAssetsLibrary alloc] init];
[assetsLibrary saveImage:image toAlbum:@"YOUR_ALBUM_NAME" completion:nil failure:nil];
更新:您也可以使用 ALAssetsLibrary 从相册中加载图像。这是一个例子:
ALAssetsLibrary* assetsLibrary = [[ALAssetsLibrary alloc] init];
[assetsLibrary loadImagesFromAlbum:^(NSMutableArray *images, NSError *error) {
if (images) {
// ...
}
}];
【讨论】: