iOS APP删除系统相册中选中的图片
来源:互联网 发布:移动大数据平台 编辑:程序博客网 时间:2024/06/02 10:35
app有一个新功能是在app中删除相册的照片。 8之前还是AssetsLibary处理
iOS 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); }];
0 0
- iOS APP删除系统相册中选中的图片
- iOS APP删除系统相册中选中的图片-姬云鹏
- [iOS]删除相册图片
- iOS中获取系统相册中的图片
- iOS中获取系统相册中的图片
- iOS中获取系统相册中的图片
- iOS获取系统相册中的图片
- 从相册中选取图片
- IOS获取系统相册图片
- iOS遍历相册中的图片
- app 获取ios相册的图片
- Android 删除手机相册中的图片
- ios从系统相册中读取图片
- iOS调用系统相册选取图片
- ios 图片保存到系统相册
- iOS处理系统相册裁剪后图片
- iOS 保存图片到 系统相册
- iOS 系统相册获取图片,保存图片,以及剪切图片
- 互联网+大赛院赛晋级 是喜是忧?
- [Android] 提高ORMLite插入大量数据效率的解决方案
- 缓存学习小结(一)
- 使用google guava做内存缓存
- 《法律备忘》离职是件愉快的事情吗?离职当月工资怎么算?
- iOS APP删除系统相册中选中的图片
- Linux 目录结构
- SQL_Server_2005_函数大全
- bash功能 命令别名与历史记录
- redis命中率计算
- MXE (M cross environment) Requirements
- windows server 2008 R2服务搭建
- C语言实现ping功能(查看设备联网状态)
- redis lru data 捕捉与存储