博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS APP删除系统相册中选中的图片
阅读量:5974 次
发布时间:2019-06-19

本文共 2854 字,大约阅读时间需要 9 分钟。

  hot3.png

http://blog.csdn.net/wsk_123_123/article/details/51445418

 

app有一个新功能是在app中删除相册的照片。  8之前还是AssetsLibary处理

 8+通过Photos.framework #import <Photos/Photos.h> 

1.添加图片

//首先获取相册的集合    PHFetchResult *collectonResuts = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum subtype:PHAssetCollectionSubtypeAny options:[PHFetchOptions new]] ;    //对获取到集合进行遍历        [collectonResuts enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {        PHAssetCollection *assetCollection = obj;    //Camera Roll是我们写入照片的相册    if ([assetCollection.localizedTitle isEqualToString:@"Camera Roll"])  {            [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{      //请求创建一个Asset                    PHAssetChangeRequest *assetRequest = [PHAssetChangeRequest creationRequestForAssetFromImage:[UIImage imageNamed:@"pet"]];      //请求编辑相册                     PHAssetCollectionChangeRequest *collectonRequest = [PHAssetCollectionChangeRequest changeRequestForAssetCollection:assetCollection];      //为Asset创建一个占位符,放到相册编辑请求中       PHObjectPlaceholder *placeHolder = [assetRequest placeholderForCreatedAsset ];      //相册中添加照片                [collectonRequest addAssets:@[placeHolder]];            } completionHandler:^(BOOL success, NSError *error) {                NSLog(@"Error:%@", error);            }];       }      }];

 

2.删除最后一张图片

PHFetchResult *collectonResuts = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum subtype:PHAssetCollectionSubtypeAny options:[PHFetchOptions new]] ;    [collectonResuts enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {        PHAssetCollection *assetCollection = obj;        if ([assetCollection.localizedTitle isEqualToString:@"Camera Roll"])  {            PHFetchResult *assetResult = [PHAsset fetchAssetsInAssetCollection:assetCollection options:[PHFetchOptions new]];            [assetResult enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {               [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{                   //获取相册的最后一张照片                   if (idx == [assetResult count] - 1) {                       [PHAssetChangeRequest deleteAssets:@[obj]];                   }               } completionHandler:^(BOOL success, NSError *error) {                   NSLog(@"Error: %@", error);               }];            }];        }    }];

 

3.删除选中的图片

//    NSURL *url= [info objectForKey:UIImagePickerControllerReferenceURL];   PHFetchResult *result = [PHAsset fetchAssetsWithALAssetURLs:@[url] options:nil];    PHAsset *asset = [result lastObject];        [[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{        [PHAssetChangeRequest deleteAssets:@[asset]];    } completionHandler:^(BOOL success, NSError *error) {                 NSLog(@"Error: %@", error);                 }];

 

转载于:https://my.oschina.net/huqiji/blog/799269

你可能感兴趣的文章
iis6 zencart1.39 伪静态规则
查看>>
SQL Server代理(3/12):代理警报和操作员
查看>>
Linux备份ifcfg-eth0文件导致的网络故障问题
查看>>
2018年尾总结——稳中成长
查看>>
通过jsp请求Servlet来操作HBASE
查看>>
Shell编程基础
查看>>
Shell之Sed常用用法
查看>>
Centos下基于Hadoop安装Spark(分布式)
查看>>
mysql开启binlog
查看>>
设置Eclipse编码方式
查看>>
分布式系统唯一ID生成方案汇总【转】
查看>>
并查集hdu1232
查看>>
Mysql 监视工具
查看>>
Linux Namespace系列(09):利用Namespace创建一个简单可用的容器
查看>>
博客搬家了
查看>>
Python中使用ElementTree解析xml
查看>>
linux的日志服务器关于屏蔽一些关键字的方法
查看>>
mysql多实例实例化数据库
查看>>
javascript 操作DOM元素样式
查看>>
HBase 笔记3
查看>>