美文网首页
iOS保存照片到自定义相册

iOS保存照片到自定义相册

作者: 别有洞天i | 来源:发表于2016-10-28 21:38 被阅读0次

    在我们的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 框架的很小一个部分,欢迎各位交流;

    相关文章

      网友评论

          本文标题:iOS保存照片到自定义相册

          本文链接:https://www.haomeiwen.com/subject/zpveuttx.html