iOS PhotoKit
来源:互联网 发布:素材软件 编辑:程序博客网 时间:2024/04/27 03:35
PhotoKit的基本构成:
PHAsset:代表照片库中的一个资源,和ALAsset类似, 通过PHAsset可以获取和保存资源。
PHFetchOptions:获取资源时的参数,可以传nil,即使用系统默认值。
PHAssetCollection:PHCollection的子类,表示一个相册或者一个时刻,或者是一个智能相册。
PHFetchResult:表示一系列的资源结果集合,也可以是相册的集合,从PHCollection的类方法中获得。
PHImageManager:用于处理资源的加载,加载图片的过程带有缓存处理,可以通过传入一个PHImageRequestOptions控制资源的输出尺寸等规格
PHImageRequestOptions:控制加载图片时的一些参数
PhotoKit的机制
1.获取资源
示例代码
//筛选规则 PHFetchOptions * option =[[PHFetchOptions alloc]init]; //排序方式 option.sortDescriptors =@[[NSSortDescriptor sortDescriptorWithKey:@"modificationDate" ascending:NO]]; //列出所有相册智能相册 PHFetchResult * smartAlbums =[PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum subtype:PHAssetCollectionSubtypeAlbumRegular options:nil]; // 列出所有用户创建的相册// PHFetchResult *smartAlbums = [PHCollectionList fetchTopLevelUserCollectionsWithOptions:nil]; for (int i=0; i<smartAlbums.count; i++) { //获取一个相册 PHCollection * collection =smartAlbums[i]; if ([collection isKindOfClass:[PHAssetCollection class]]) { //每一个相册(assetcollection) PHAssetCollection * assetcollection =(PHAssetCollection *)collection; //从每一个相册中获取到中真正的资源 //相册里多有资源(fetResult) PHFetchResult * fetResult =[PHAsset fetchAssetsInAssetCollection:assetcollection options:nil]; if (fetResult.count>0) { [assetArray addObject:fetResult]; [nameArray addObject:assetcollection.localizedTitle]; //获取封面图片,就是第一张图片 PHAsset *asset = (PHAsset *)fetResult.firstObject; PHImageRequestOptions *options = [[PHImageRequestOptions alloc] init]; //默认的是异步加载,这里选择了同步 因为只获取一张照片,不会对界面产生很大的影响 options.synchronous = YES; PHImageManager * manager =[PHImageManager defaultManager]; [manager requestImageForAsset:asset targetSize:PHImageManagerMaximumSize contentMode:PHImageContentModeDefault options:options resultHandler:^(UIImage * _Nullable result, NSDictionary * _Nullable info) { [fsArray addObject:result]; }]; } } }
0 0
- iOS PhotoKit
- iOS PhotoKit框架 详解
- iOS--PhotoKit简单入门
- iOS PhotoKit 教程
- ios PhotoKit遍历所有照片
- iOS - PhotoKit框架使用说明(转)
- photokit
- PhotoKit--iOS 开发之照片框架详解
- iOS PhotoKit获取所有相册名称
- iOS 开发之照片框架详解PhotoKit,ALAssetsLibrary
- iOS --- 使用PhotoKit代替ALAssetsLibrary来管理相册资源
- iOS开发进阶 - 基于PhotoKit的图片选择器
- iOS开发获取系统相册资源,自定义相册(PhotoKit)
- PhotoKit简介
- PhotoKit 详解
- PhotoKit 详解
- PhotoKit介绍
- PhotoKit 应用
- JS使用正则表达式实现ReplaceAll方法
- 面向对象设计的过程就是抽象的过程,分以下三步来完成
- okhttp的异步请求
- 记录工作中遇到的一些常用方法
- ExploitExercises_Nebula_Level02
- iOS PhotoKit
- Linux driver model ----- platform
- C语言中,getchar()函数的使用事项
- oracl 函数示例 FUNCTION 必须有返回值
- 百度地图 获取Android签名证书的sha1值 (百度地图SDK 230错误)
- 判断一棵二叉树是不是另一棵的子结构问题
- LeetCode394 Decode String java solution
- App测试中ios和Android的区别2
- Android中inflate的使用: