文档章节

PHCachingImageManager简单记录

杨志强
 杨志强
发布于 2016/05/18 17:37
字数 261
阅读 221
收藏 0

注意:IOS 8.0之后可以使用

简单来说,IOS获取相册现在有了官方的缓冲机制了。

1.创建出PHCachingImageManager对象,

2.使用

- (void)startCachingImagesForAssets:(NSArray<PHAsset *> *)assets
                         targetSize:(CGSize)targetSize
                        contentMode:(PHImageContentMode)contentMode
                            options:(PHImageRequestOptions *)options

 

3.使用

- (PHImageRequestID)requestImageForAsset:(PHAsset *)asset
                              targetSize:(CGSize)targetSize
                             contentMode:(PHImageContentMode)contentMode
                                 options:(PHImageRequestOptions *)options
                           resultHandler:(void (^)(UIImage *result,
                                                   NSDictionary *info))resultHandler

在resultHandler中把result赋值给对应的UIImageView就OK了。(asset必须在assets中,targetSize必须相同,contentMode必须相同,options必须相同)

 

附官方例子:

https://developer.apple.com/library/ios/samplecode/UsingPhotosFramework/Listings/SamplePhotosApp_AAPLAssetGridViewController_m.html

附官方说明:

To use a caching image manager:

  1. Create a PHCachingImageManager instance. (This step replaces using the shared PHImageManagerinstance.)

  2. Use PHAsset class methods to fetch the assets you’re interested in.

  3. To prepare images for those assets, call thestartCachingImagesForAssets:targetSize:contentMode:options: method with the target size, content mode, and options you plan to use when later requesting images for each individual asset.

  4. When you need an image for an individual asset, call therequestImageForAsset:targetSize:contentMode:options:resultHandler: method, and pass the same parameters you used when preparing that asset.

    If the image you request is among those already prepared, the PHCachingImageManager object immediately returns that image. Otherwise, Photos prepares the image on demand and caches it for later use.

© 著作权归作者所有

共有 人打赏支持
杨志强
粉丝 2
博文 2
码字总数 261
作品 0
福州
高级程序员
iOS 开发之照片框架详解之二 —— PhotoKit 详解(下)

这里接着前文《iOS 开发之照片框架详解之二 —— PhotoKit 详解(上)》,主要是干货环节,列举了如何基于 PhotoKit 与 AlAssetLibrary 封装出通用的方法。 三. 常用方法的封装 虽然 PhotoK...

hejunbinlan
2016/06/24
34
0
iOS Photos Framework高性能获取系统相册图片

PhotoKit简介 PhotoKit 是iOS8之后新出一套比 AssetsLibrary 更完整也更高效的库,对资源的处理跟 AssetsLibrary 也有很大的不同。 先简单介绍几个Photos的类: PHAsset: 代表照片库中的一个...

iTruda
06/21
0
0
LivePhoto开发,你要知道的知识点

前言 Apple从iPhone6s开始支持Live Photo。Live Photo 会录下拍照前后 1.5 秒所发生的一切,因此用户获得的不仅仅是一张精美照片,还有拍照前后时刻的动作和声音。具体的操作可以参见拍照和编...

zhanggui
07/09
0
0
Net Core平台灵活简单的日志记录框架NLog+SqlServer初体验

Net Core平台灵活简单的日志记录框架NLog+SqlServer初体验 前几天分享的"[Net Core平台灵活简单的日志记录框架NLog+Mysql组合初体验][http://www.cnblogs.com/yilezhu/p/9416439.html]" 反响...

依乐祝
08/09
0
0
排序——简单选择排序

一、选择排序概念 选择排序(Selection Sort)的基本思想:对n个记录进行扫描,选择最小的记录,将其输出,接着在剩下的n-1个记录中扫描,选择最小的记录将其输出……不断重复这个过程,直到...

翼动动空
2016/06/06
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

Mac OS X下Maven的安装与配置

Mac OS X 安装Maven: 下载 Maven, 并解压到某个目录。例如/Users/robbie/apache-maven-3.3.3 打开Terminal,输入以下命令,设置Maven classpath $ vi ~/.bash_profile 添加下列两行代码,之后...

TonyStarkSir
今天
3
0
关于编程,你的练习是不是有效的?

最近由于工作及Solution项目的影响,我在重新学习DDD和领域建模的一些知识。然后,我突然就想到了这个问题,以及我是怎么做的? 对于我来说,提升技能的项目会有四种: 纯兴趣驱动的项目。即...

问题终结者
今天
4
0
打开eclipse出现an error has occurred see the log file

解决方法: 1,打开eclipse安装目录下的eclipse.ini文件; 2,打开的文本文件最后添加一行 --add-modules=ALL-SYSTEM 3,保存重新打开Eclipse。...

任梁荣
昨天
4
0
搞定Northwind示例数据库,无论哪个版本的SQLServer都受用

Northwind数据库 从这里可以找到突破口: http://social.msdn.microsoft.com/Forums/zh-CN/Vsexpressvb/thread/8490a1c6-9018-40c9-aafb-df9f79d29cde 下面是MSDN: http://msdn2.microsoft......

QQZZFT
昨天
1
0
mysql主从同步,安装配置操作

准备 两台mysql服务,我这里准备了如下: 主库:192.168.176.128 从库:192.168.176.131 如何在Linux上安装mysql服务,请看https://blog.csdn.net/qq_18860653/article/details/80250499 操作...

小致dad
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部