自定义相册

在实际开发中,为了美观,常常需要自定义相册
比如在相册中添加相机按钮

效果图.png

一共有两种方法自定义相册
第一种是iOS9之后过期的 <AssetsLibrary/AssetsLibrary.h>苹果原生框架
第二种是iOS8推出的<Photos/Photos.h> 苹果原生框架,功能更多,但是只支持iOS8之后的版本
一般推荐使用<Photos/Photos.h> ,因为现在版本快iOS10了,有些版本没有升级的用户已经可以抛弃了

我也是研究的<Photos/Photos.h>

基本思想就是:
1.获取相册照片
2.创建collectionView,用获取的照片为他赋值

Photos框架须知

  • PHAsset :
    1.一个PHAsset对象代表一张图片或者一个视频文件
  1. 负责查询一堆的PHAsset对象
  • PHAssetCollection :
    1.一个PHAssetCollection对象代表一个相册
    2.负责查询一堆的PHAssetCollection对象
  • PHAssetChangeRequest
  1. 负责执行对PHAsset的【增删改】操作
  2. 这个类只能放在-[PHPhotoLibrary performChanges:completionHandler:] 或者 -[PHPhotoLibrary performChangesAndWait:error:]方法的block中使用
  • PHAssetCollectionChangeRequest
  1. 负责执行对PHAssetCollection的【增删改】操作
  2. 这个类只能放在-[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

在这个demo中,我们所需的需求基本都有!
大家一起研究,有问题一起讨论讨论

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 保存图片到自定义相册 实际上,自定义相册中的图片并不是实际的图片,而是对系统【相机胶卷】这个相册中的图片进行了一个...
    岁与禾阅读 6,048评论 19 23
  • 一.引言 最近项目中要用到相册和选取截图,但是系统的不太符合设计要求,所以就自己实现了一个.首先说说做前普及的知识...
    A_sura阅读 9,028评论 26 73
  • 保存到自定义相册分3步: 1.添加图片到【相机胶卷】1> UIImageWriteToSavedPhotosAlb...
    武一顶顶阅读 4,377评论 7 1
  • Photos.framework的使用理解 PHPhotoLibrary 是一个资源库。能够获取相册权限以及对相册...
    Alphts阅读 551评论 0 2
  • 在我们的App中 ,如何将我们从网络上下载的图片 保存到用户设备 的系统相册中,以供用户使用呢?以下是苹果SDK中...
    别有洞天i阅读 633评论 0 1