ios 保存图片到自己创建的相册
2014-11-04 21:17
309 查看
在QQ群里面看到有人问保存图片到自定义相册的办法:
直接上代码:
使用的时候只要调用:
直接上代码:
#import <Foundation/Foundation.h> #import <AssetsLibrary/AssetsLibrary.h> typedef void(^SaveImageCompletion)(NSError* error); @interface ALAssetsLibrary(CustomPhotoAlbum) -(void)saveImage:(UIImage*)image toAlbum:(NSString*)albumName withCompletionBlock:(SaveImageCompletion)completionBlock; -(void)addAssetURL:(NSURL*)assetURL toAlbum:(NSString*)albumName withCompletionBlock:(SaveImageCompletion)completionBlock; @end
#import "ALAssetsLibrary+CustomPhotoAlbum.h" @implementation ALAssetsLibrary(CustomPhotoAlbum) -(void)saveImage:(UIImage*)image toAlbum:(NSString*)albumName withCompletionBlock:(SaveImageCompletion)completionBlock { //write the image data to the assets library (camera roll) [self writeImageToSavedPhotosAlbum:image.CGImage orientation:(ALAssetOrientation)image.imageOrientation completionBlock:^(NSURL* assetURL, NSError* error) { //error handling if (error!=nil) { completionBlock(error); return; } //add the asset to the custom photo album [self addAssetURL: assetURL toAlbum:albumName withCompletionBlock:completionBlock]; }]; } -(void)addAssetURL:(NSURL*)assetURL toAlbum:(NSString*)albumName withCompletionBlock:(SaveImageCompletion)completionBlock { __block BOOL albumWasFound = NO; //search all photo albums in the library [self enumerateGroupsWithTypes:ALAssetsGroupAlbum usingBlock:^(ALAssetsGroup *group, BOOL *stop) { //compare the names of the albums if ([albumName compare: [group valueForProperty:ALAssetsGroupPropertyName]]==NSOrderedSame) { //target album is found albumWasFound = YES; //get a hold of the photo's asset instance [self assetForURL: assetURL resultBlock:^(ALAsset *asset) { //add photo to the target album [group addAsset: asset]; //run the completion block completionBlock(nil); } failureBlock: completionBlock]; //album was found, bail out of the method return; } if (group==nil && albumWasFound==NO) { //photo albums are over, target album does not exist, thus create it __weak ALAssetsLibrary* weakSelf = self; //create new assets album [self addAssetsGroupAlbumWithName:albumName resultBlock:^(ALAssetsGroup *group) { //get the photo's instance [weakSelf assetForURL: assetURL resultBlock:^(ALAsset *asset) { //add photo to the newly created album [group addAsset: asset]; //call the completion block completionBlock(nil); } failureBlock: completionBlock]; } failureBlock: completionBlock]; //should be the last iteration anyway, but just in case return; } } failureBlock: completionBlock]; } @end
使用的时候只要调用:
-(void)saveImage:(UIImage*)image toAlbum:(NSString*)albumName withCompletionBlock:(SaveImageCompletion)completionBlock;即可……
相关文章推荐
- IOS 保存图片至相册
- IOS之文件夹创建、删除,图片在本地的保存和加载
- iOS 保存到相册(视频,图片)
- ios 保存图片至相册
- 将图片保存到ios相册
- iOS保存图片信息到相册
- IOS 保存图片至相册
- ios uiwebview 长按图片,保存到本地相册
- ios选择相册图片并保存
- 在IOS中怎么拿到自己相册中得图片
- IOS 保存图片至相册
- iOS 保存到相册和从相册里面去图片的demo
- IOS之文件夹创建、删除,图片在本地的保存和加载
- 保存图片/视频到相册 保存完成后通知事件 IOS
- IOS 如何保存图片到相册实例
- IOS之文件夹创建、删除,图片在本地的保存和加载
- iOS保存图片信息到相册
- iOS 保存图片至相册
- iOS开发之保存图片到手机相册
- ios uiwebview 长按图片,保存到本地相册