Photos.frameWork
来源:互联网 发布:linux重启mysql数据库 编辑:程序博客网 时间:2024/05/01 16:15
1、 需要了解的类功能及作用
PHCollectionList
PHAssetCollection
PHAsset
PHFetchResult
PHCachingImageManager
通读apple官方文档注解及API初步了解各个类的作用之后,简单概括如下:
- PHCollectionList 相薄或相薄集合,使用如下方式获取相薄集合,主要用来获取用户或应用自己创建的相薄
PHFetchResult *userCollectionList = [PHCollectionList fetchTopLevelUserCollectionsWithOptions:nil];
- PHAssetCollection 代表一个相薄,使用如下方式,获取相薄集合,一个单独的资源集合可以是照片库中的一个相册或者一个时刻,或者是一个特殊的“智能相册”。这种智能相册包括所有的视频集合,最近添加的项目,用户收藏,所有连拍照片等
PHFetchResult *smartAlbums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum subtype:PHAssetCollectionSubtypeAny options:nil];
- PHFetchResult 相当于数组之类的容器,用于存放各种结果集
- PHAsset 表示用户照片库中一个单独的资源,用以提供资源的元数据。通过以下API获取PHAsset 资源的集合
PHFetchResult *assetsFetchResult = [PHAsset fetchAssetsInAssetCollection:assetCollection options:options];
2、CollectionType
enum PHAssetCollectionType : Int { case Album //从 iTunes 同步来的相册,以及用户在 Photos 中自己建立的相册 case SmartAlbum //经由相机得来的相册 case Moment //Photos 为我们自动生成的时间分组的相册}enum PHAssetCollectionSubtype : Int { case AlbumRegular //用户在 Photos 中创建的相册,也就是我所谓的逻辑相册 case AlbumSyncedEvent //使用 iTunes 从 Photos 照片库或者 iPhoto 照片库同步过来的事件。然而,在iTunes 12 以及iOS 9.0 beta4上,选用该类型没法获取同步的事件相册,而必须使用AlbumSyncedAlbum。 case AlbumSyncedFaces //使用 iTunes 从 Photos 照片库或者 iPhoto 照片库同步的人物相册。 case AlbumSyncedAlbum //做了 AlbumSyncedEvent 应该做的事 case AlbumImported //从相机或是外部存储导入的相册,完全没有这方面的使用经验,没法验证。 case AlbumMyPhotoStream //用户的 iCloud 照片流 case AlbumCloudShared //用户使用 iCloud 共享的相册 case SmartAlbumGeneric //文档解释为非特殊类型的相册,主要包括从 iPhoto 同步过来的相册。由于本人的 iPhoto 已被 Photos 替代,无法验证。不过,在我的 iPad mini 上是无法获取的,而下面类型的相册,尽管没有包含照片或视频,但能够获取到。 case SmartAlbumPanoramas //相机拍摄的全景照片 case SmartAlbumVideos //相机拍摄的视频 case SmartAlbumFavorites //收藏文件夹 case SmartAlbumTimelapses //延时视频文件夹,同时也会出现在视频文件夹中 case SmartAlbumAllHidden //包含隐藏照片或视频的文件夹 case SmartAlbumRecentlyAdded //相机近期拍摄的照片或视频 case SmartAlbumBursts //连拍模式拍摄的照片,在 iPad mini 上按住快门不放就可以了,但是照片依然没有存放在这个文件夹下,而是在相机相册里。 case SmartAlbumSlomoVideos //Slomo 是 slow motion 的缩写,高速摄影慢动作解析,在该模式下,iOS 设备以120帧拍摄。不过我的 iPad mini 不支持,没法验证。 case SmartAlbumUserLibrary //这个命名最神奇了,就是相机相册,所有相机拍摄的照片或视频都会出现在该相册中,而且使用其他应用保存的照片也会出现在这里。 case Any //包含所有类型}
PHAssetCollectionType 与PHAssetCollectionSubtype 组合 取出不同名称的相薄 我的照片流的出现就是一个典型的例子,通过PHAssetCollectionTypeAlbum 与AlbumMyPhotoStream 组合,可以成功找到我的照片流相薄
3、相关链接
http://kayosite.com/ios-development-and-detail-of-photo-framework-part-two.html
http://objccn.io/issue-21-4/
不错的照片选择器第三方库
https://github.com/guillermomuntaner/GMImagePicker
0 0
- Photos.frameWork
- Photos Framework介绍
- iOS Photos.framework 使用
- Photos.framework学习笔记
- iOS8 Photos Framework
- Photos Framework 新照片框架
- Swift基础(三十三)Photos.framework框架
- 基于Photos.framework自定制相册swift
- photos
- iOS8.0 使用Photos.framework对相册的常用操作
- 使用Photos.framework对相册的常用操作
- iOS开发------简单实现图片多选功能(Photos.framework篇)
- Mariage Photos
- Photos(简介)
- Photos(PHObject)
- Photos(PHPhotoLibrary)
- Photos(PHAsset)
- Photos(PHCollection)
- Linux下C语言计算文件的md5值(转)
- 跨平台AR增强现实开发(三)(ARCamera功能与简介)
- 【OpenSSL】SMIME Group Message
- ubuntu定制开机界面系统工具的开发
- LeetCode124—Binary Tree Maximum Path Sum
- Photos.frameWork
- 图像变换 - 图像拉伸、收缩、扭曲、旋转[1] - 仿射变换(cvWarpAffine)
- The auxService:mapreduce_shuffle does not exist 问题解决记录
- SAP模块常用增强总结
- linux下安装Django
- listview使用方法
- location方法详解,获取地址栏URL请求参数,以对象形式保存
- 流行的更换图片的javascript函数集--MM_swapImage函数和MM_swapImgRestore函数
- 漫谈android系统(2)androidLK启动过程1