美文网首页
Photos框架快速了解

Photos框架快速了解

作者: Sweet丶 | 来源:发表于2018-11-23 18:18 被阅读11次

    Photos是iOS 8以上可使用的框架,通过此框架可以获取用户相册图片、livephoto、vidio
    下面是常用的几个类的简单介绍,了解了这些后就可以快速使用Photos框架的API去实现自己的功能了。--比如获取最新一张照片(最近10秒的一张)。

    1. PHPhotoLibrary
    • 通过这个类查询照片库访问权限
    • 在用户修改了相册内容后通过这个类可以监听到修改,进而实时更新APP里面需要展示的内容
    2. 通过PHAsset类方法来获取到PHAsset的集合类PHFetchResult
    #pragma mark - Fetching assets
    // Fetches PHAssetSourceTypeUserLibrary assets by default (use includeAssetSourceTypes option to override)
    + (PHFetchResult<PHAsset *> *)fetchAssetsWithOptions:(nullable PHFetchOptions *)options;
    + (PHFetchResult<PHAsset *> *)fetchAssetsWithMediaType:(PHAssetMediaType)mediaType options:(nullable PHFetchOptions *)options;
    
    • PHAsset对象是一个媒体文件对象(图片、音频、视频), 包含着文件的属性信息
    • PHFetchResult是类似数组的有序集合类
    • PHFetchOptions类,通过这个类创建对象来实现对PHAsset的筛选和排序,允许使用的key如下表
      Supported predicate and sort descriptor keys
    Class for Fetch Method Supported Keys
    PHAsset SELF, localIdentifier, creationDate, modificationDate, mediaType, mediaSubtypes, duration, pixelWidth, pixelHeight, favorite (or isFavorite), hidden (or isHidden), burstIdentifier
    3. PHAssetPHAssetChangeRequest 类定义方法来请求照片或视频内容进行编辑,并将您的编辑提交到照片库
    4. PHImageManager

    通过这个类来取得一个PHAsset对象对应的图片数据

    - (PHImageRequestID)requestImageForAsset:(PHAsset *)asset  
                                  targetSize:(CGSize)targetSize 
                                 contentMode:(PHImageContentMode)contentMode 
                                     options:(nullable PHImageRequestOptions *)options 
                               resultHandler:(void (^)(UIImage *__nullable result, NSDictionary *__nullable info))resultHandler;
    
    • PHImageRequestOptions: 对获取图片的一些选项设置

    相关文章

      网友评论

          本文标题:Photos框架快速了解

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