美文网首页
iOS Photos 框架学习

iOS Photos 框架学习

作者: 郭小弟 | 来源:发表于2017-11-08 11:20 被阅读146次

最近项目中要做图片浏览的功能,特别学习一下iOS8以后的新框架Photos,有一些是自己实践出来的,还有一部分是踩在巨人的肩膀上得到的,由于资料比较多,此处就不一一列举了,希望巨人见谅

主要借鉴 : iOS8 Photos Framework

PHAsset:代表图像或视频对象;

PHCollection:代表图像或视频对象的集合,PHCollection是个基类,有PHAssetCollection和PHCollectionList两个子类,分别代表 Photos 里的相册和文件夹

  • localIdentifier

    Photos 框架中的根类PHObject只有一个公开接口localIdentifier, 是对象唯一唯一标志符.可以直接使用localIdentifier属性对PHObject及其子类对象进行对比是否同一个对象。

  • PHAsset

    代表照片库中的一个资源实体,可以理解为一张照片,可以得到图片的基本信息
    mediaType : 资源类型

    EB7BB251-B7C1-4B8A-A0B9-0DFB021C7320.png
    mediaSubtypes: 更多的资源样式
4DA5D384-CEA5-492A-BA3D-A116B737857B.png
pixelWidth 和 pixelHeight : 资源大小
creationDate : 创建日期
location : 资源创建的地理位置
duration : 资源时长
hidden : 资源是否是隐藏资源
favorite : 资源是否被标记为喜欢
representsBurst 和 burstIdentifier : representsBurst 属性为 true,表示为连拍的资源 。 burstIdentifier,可以通过将这个值传入 fetchAssetsWithBurstIdentifier(...) 方法来获取这一连拍资源的更多的连拍图片。
比较常用几个获取资源的方法
+ (PHFetchResult<PHAsset *> *)fetchAssetsInAssetCollection:(PHAssetCollection *)assetCollection options:(nullable PHFetchOptions *)options;
获取照片中某个相册文件中的所有资源
+ (PHFetchResult<PHAsset *> *)fetchAssetsWithMediaType:(PHAssetMediaType)mediaType options:(nullable PHFetchOptions *)options;
查找相册中指定类型的资源
+ (PHFetchResult<PHAsset *> *)fetchAssetsWithLocalIdentifiers:(NSArray<NSString *> *)identifiers options:(nullable PHFetchOptions *)options;
根据资源的id查找到相对应的资源
  • PHAssetCollection

PHAssetCollection代表Photos里的相册

typedef NS_ENUM(NSInteger, PHAssetCollectionType) {
     PHAssetCollectionTypeAlbum      = 1, //用户自定义相册
     PHAssetCollectionTypeSmartAlbum = 2, //系统相册
     PHAssetCollectionTypeMoment     = 3, //按时间排序分组的相册
     } PHOTOS_ENUM_AVAILABLE_IOS_TVOS(8_0, 10_0);
     
     
     PHAssetCollectionSubtype 这个里面的枚举就比较多了,按照条件查询的更细化一点,如果没有具体要求PHAssetCollectionSubtypeAny 所有的类型,

localizedLocationNames : 资源位置名称,这个属性只有在选择PHAssetCollectionTypeMoment的时候才会有值
estimatedAssetCount : 估算的资源数量,不一定准确
approximateLocation : 不是每个相册集合都有,测试了一下如果是PHAssetCollectionTypeMoment可以看到相册拍摄的大概地点,如下图:

image.png

常用的获取相册资源的内容差不多就这些了,等下次再更新一下对相册资源的操作内容

相关文章

  • iOS Photos 框架学习

    最近项目中要做图片浏览的功能,特别学习一下iOS8以后的新框架Photos,有一些是自己实践出来的,还有一部分是踩...

  • iOS Photos 框架使用

    Photos Photos 框架是iOS 8之后用于替代AssetsLibrary的一个现代化框架,几年以来,相机...

  • Photos框架的使用总结(一)

    Photos 框架简介 photos框架是ios8 之后退出来的一个专门处理图片和视频的框架. 通过这个框架开发者...

  • iOS相册--Photos

    Photos是什么 Photos是苹果全新的照片框架,其要求最低版本为iOS8.利用Photos可以实现以下功能:...

  • iOS 保存图片到相机胶卷详解

    前言:iOS 保存图片有3种原生API:使用C函数、AssetsLibrary框架、Photos框架目前常使用Ph...

  • Photos框架使用(一)

    前言 iOS8之后,苹果推出新的管理图库资源框架Photos,相比于之前的ALAssetsLibrary框架来说,...

  • Photos框架学习

    导读 对于 Photos 框架的介绍,推荐观看 objccn.io 的文章 。写得真好,我写得的文章水准还差得...

  • ### 仿小影图片选择

    项目准备 iOS-保存图片到自定义相册MSTImagePickerController利用Photos 框架搭建美...

  • Photos框架快速了解

    Photos是iOS 8以上可使用的框架,通过此框架可以获取用户相册图片、livephoto、vidio下面是常用...

  • PHAsset框架里面的PHImageManager获取原图内存

    在iOS开发中我们有时候需要从Photos框架中获取的phasset转化为uiimage,PHAsset框架给我们...

网友评论

      本文标题:iOS Photos 框架学习

      本文链接:https://www.haomeiwen.com/subject/fgdemxtx.html