iOS保存照片到自定义相册

2016-10-28  本文已影响0人  别有洞天i

在我们的App中 ,如何将我们从网络上下载的图片 保存到用户设备 的系统相册中,以供用户使用呢?
以下是苹果SDK中为我们提供的方法:在这里粗浅的讲解一下大致的用法,更多的使用方法,可以查阅苹果官方文档,了解更多!

方法一:

++简单保存图片到系统相册 ++

  1. 直接调用系统函数

    ''UIImage *image =nil;
    ''UIImageWriteToSavedPhotosAlbum(image,self, @selector(image:didFinishSavingWithError:contextInfo:), nil);

  2. 必须实现 系统方法
    ''- (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo

方法二:

++在系统照片库中 添加自定义相簿 并保存照片++
完整方法:

Snip20161028_5.png

方法解析:

  1. 导入Photo 框架
    ''#import <Photos/Photos.h>
  2. 获取PHPhotoLibrary 对象 调用方法
    ''[[PHPhotoLibrary sharedPhotoLibrary] performChanges:<#^(void)changeBlock#> completionHandler:<#^(BOOL success, NSError * _Nullable error)completionHandler#>];
    %% 在performChanges block中实现以下方法
    %% completionHandler 完成后回调 block
  3. 创建自定义相册 PHAssetCollectionChangeRequest ->与相册相关的操作类

    title :相册标题
    ''PHAssetCollectionChangeRequest *assetCollectionChangeRequest =[PHAssetCollectionChangeRequest creationRequestForAssetCollectionWithTitle:@"别有洞天"];

  4. 保存照片到相册 PHAssetChangeRequest ->与照片图片相关操作类

    将照片添加到 系统相册 (此次操作后,系统相册中已经保存 当前照片)
    ''PHAssetChangeRequest *assetChangeRequest =[PHAssetChangeRequest creationRequestForAssetFromImage:image];''
    将照片从系统相册中 拷贝到自定义相册
    '' PHObjectPlaceholder * objectPlaceholder=[assetChangeRequest placeholderForCreatedAsset];
    %% placeholderForCreatedAsset 方法: 用来获取一个新创建的asset
    往自定的相册中添加照片
    ''[assetCollectionChangeRequest addAssets:@[objectPlaceholder]];

寄语:

圣人千古,必有一失;余人千虑,必有一得!
本文简述的仅仅是Photos 框架的很小一个部分,欢迎各位交流;

上一篇下一篇

猜你喜欢

热点阅读