代码: // 创建自己要创建的自定义相册 - (PHAssetCollection * )createCollection{ // 创建一个新的相册 // 查看所有的自定义相册 // 先查看是否有自己要创建的自定义相册 NSString * title = [NSBundle mainBundle].infoDictionary[(NSString *)kCFBundleNameKey]; PHFetchResult<PHAssetCollection *> *collections = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype :PHAssetCollectionSubtypeAlbumRegular options:nil]; PHAssetCollection * createCollection = nil; // 最终要获取的自己创建的相册 for (PHAssetCollection * collection in collections) { if ([collection.localizedTitle
本篇主要讲解PHCollection以及他的两个子类PHAssetCollection和PHCollectionList。 作为Photos的抽象超类,本身不会有实例化的意义,我们主要关注他的两个子类:资源的集合PHAssetCollection和集合列表PHCollectionList。 一个PHAssetCollection对象代表了一个照片或者视频资源的集合,比如说一个相簿,一个时刻,或者是共享相簿。 PHCollection.png 一张图看懂PHAssetCollection 代表了一个照片或者视频资源的集合,比如说一个相簿,一个时刻,或者是共享相簿。 整体的方法和属性基本跟PHAssetCollection差不多。
}) } }) } 保存照片到特定相册 func savePhoto(image: UIImage, album: PHAssetCollection 获取中获取到的可以是相册也可以是资源,但无论是哪种内容,都统一使PHFetchResult 对象封装起来,因此虽然 PHAssetCollection 获取到的结果可能是多样的,但通过PHFetchResult <smartAlbums.count { //获取一个相册(PHAssetCollection) let collection = smartAlbums [index] if collection.isKind(of: PHAssetCollection.classForCoder()) { //赋值 PHAssetCollection) } assetsFetchResults.enumerateObjects({ (asset, i
学习一下还是很有必要的; 主要成员介绍: 1.PHAsset:代表照片库中的一个资源,与ALAsset类似,通过PHAsset可以获取和保存资源; 2.PHFetchOptions:获取资源时的参数; 3.PHAssetCollection //获得所有智能相册 PHFetchResult *smartAlbums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum PHAsset fetchAssetsWithOptions:allPhotoOptions]; 3 获取对应的照片资源 //列出所有智能相册, PHFetchResult *smartAlbums = [PHAssetCollection class]]) { //判断是否是PHAssetCollection类 PHAssetCollection *assetCollection = (PHAssetCollection +) { //获取其中一个资源 PHAsset *asset = photoSet[i]; } }else{ NSLog(@"not PHAssetCollection
学习一下还是很有必要的; 主要成员介绍: 1.PHAsset:代表照片库中的一个资源,与ALAsset类似,通过PHAsset可以获取和保存资源; 2.PHFetchOptions:获取资源时的参数; 3.PHAssetCollection PHAsset fetchAssetsWithOptions:allPhotoOptions]; 3 获取对应的照片资源 //列出所有智能相册,此时smartAlbums保存是各个智能相册对应的PHAssetCollection PHFetchResult *smartAlbums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum ; i ++) { //从中获取一相册 PHCollection *collection = smartAlbums[i]; if ([collection isKindOfClass:[PHAssetCollection class]]) { //判断是否是PHAssetCollection类 PHAssetCollection *assetCollection = (PHAssetCollection
第二步:认识 PhotoKit 对象 可能刚开始的时候,大家也都跟我一样常常分不清楚 PHAsset,PHFetchOptions,PHAssetCollection,PHFetchResult,PHImageManager PHAssetCollection:PHCollection 的子类,表示一个相册或者一个时刻,例如片刻,用户创建的相册或智能相册。 获取相册 获取系统智能相册 PHFetchResult *fetchResult = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum fetchResult.count; i++){ PHCollection *collection = fetchResult[i]; if([collection isKindOfClass:[PHAssetCollection class]]){ PHAssetCollection *assetCollection = (PHAssetCollection *)collection; //相册名称
,通过 PHAsset 可以获取和保存资源 PHFetchOptions: 获取资源时的参数,可以传 nil,即使用系统默认值 PHFetchResult: 表示一系列的资源集合,也可以是相册的集合 PHAssetCollection 3 PhotoKit的基本使用 // 列出所有相册智能相册 PHFetchResult *smartAlbums = [PHAssetCollection fetchAssetCollectionsWithType
; return; } // 2.获得相簿 PHAssetCollection *createdAssetCollection = ; } }]; }]; } /** * 获得相簿 * 如果已经找到应用对应的相簿则直接添加到相簿,如果没有找到则创建新的相簿 */ - (PHAssetCollection *> *assetCollections = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype :PHAssetCollectionSubtypeAlbumRegular options:nil]; for (PHAssetCollection *assetCollection in assetCollections 的标识, 利用这个标识可以找到对应的PHAssetCollection对象(相簿对象) __block NSString *assetCollectionLocalIdentifier = nil
,通过 PHAsset 可以获取和保存资源 PHFetchOptions: 获取资源时的参数,可以传 nil,即使用系统默认值 PHFetchResult: 表示一系列的资源集合,也可以是相册的集合 PHAssetCollection 3 PhotoKit的基本使用 // 列出所有相册智能相册 PHFetchResult *smartAlbums = [PHAssetCollection fetchAssetCollectionsWithType
NSSLog(@"保存失败"); return; } // 拿到自定义的相册对象 PHAssetCollection