在实际开发中,为了美观,常常需要自定义相册
比如在相册中添加相机按钮
一共有两种方法自定义相册
第一种是iOS9之后过期的 <AssetsLibrary/AssetsLibrary.h>苹果原生框架
第二种是iOS8推出的<Photos/Photos.h> 苹果原生框架,功能更多,但是只支持iOS8之后的版本
一般推荐使用<Photos/Photos.h> ,因为现在版本快iOS10了,有些版本没有升级的用户已经可以抛弃了
我也是研究的<Photos/Photos.h>
基本思想就是:
1.获取相册照片
2.创建collectionView,用获取的照片为他赋值
Photos框架须知
- PHAsset :
1.一个PHAsset对象代表一张图片或者一个视频文件
- 负责查询一堆的PHAsset对象
- PHAssetCollection :
1.一个PHAssetCollection对象代表一个相册
2.负责查询一堆的PHAssetCollection对象 - PHAssetChangeRequest
- 负责执行对PHAsset的【增删改】操作
- 这个类只能放在-[PHPhotoLibrary performChanges:completionHandler:] 或者 -[PHPhotoLibrary performChangesAndWait:error:]方法的block中使用
- PHAssetCollectionChangeRequest
- 负责执行对PHAssetCollection的【增删改】操作
- 这个类只能放在-[PHPhotoLibrary performChanges:completionHandler:] 或者 -[PHPhotoLibrary performChangesAndWait:error:]方法的block中使用
想一次性获取相册图片,并加载在collectionView,所以必须考虑性能问题
今天就针自定义相册浏览选择器四个优化点进行剖析:
- 缩略图页面加载速度优化
- 缩略图页面滑动流畅度优化
- 大图浏览滑动流畅度优化
- 内存优化
直接上代码!!
在下面的一个连接中
一个支持多选、选原图和视频的图片选择器,同时有预览、裁剪功能,支持iOS6+。 A clone of UIImagePickerController, support picking multiple photos、original photo、video, also allow preview photo and video, support iOS6+
在这个demo中,我们所需的需求基本都有!
大家一起研究,有问题一起讨论讨论
网友评论