使用AssetsLibrary库实现系统类似照片浏览器

本文介绍了如何利用AssetsLibrary库在iOS中实现一个系统类似的照片浏览器。内容包括引入AssetsLibrary框架,理解ALAssetsGroup、ALAsset和ALAssetRepresentation的组成,检查授权,获取相册列表,从相册中获取图片,以及最终的实现效果展示。
摘要由CSDN通过智能技术生成

使用AssetsLibrary库实现系统类似照片浏览器

由于项目需求,要实现一个多项选择的图片浏览器,使用系统的UIImagePickerController只能选择单张图片,于是决定通过AssetsLibrary自定义。

1、AssetsLibrary的引入

引用AssetsLibrary的方法同引入iOS系统提供的其他framework一样,在“General”下滚动至”Linked Frameworks and Libraries”或者在”Build Phases”标签页中,展开”Link Binary With Libraries”,然后点击下面的加号,在弹出的对话框中输入AssetsLibrary即可引入,如下图所示:
引入AssetsLibrary

2、AssetsLibrary组成介绍

其实AssetsLibrary的使用非常简单,网络上也有很多关于该framework的文章,关于AssetsLibrary的介绍就引用别人写的一篇文章里的内容吧。(http://www.jianshu.com/p/14d04b3ef00a 文/TEASON) AssetsLibrary 的组成比较符合照片库本身的组成,照片库中的完整照片库对象、相册、相片都能在 AssetsLibrary 中找到一一对应的组成,这使到 AssetsLibrary 的使用变得直观而方便。

1、AssetsLibrary:

代表整个设备中的资源库(照片库),通过 AssetsLibrary 可以获取和包括设备中的照片和视频

2、ALAssetsGroup:

映射照片库中的一个相册,通过 ALAssetsGroup 可以获取某个相册的信息,相册下的资源,同时也可以对某个相册添加资源。

3、ALAsset:

映射照片库中的一个照片或视频,通过 ALAsset 可以获取某个照片或视频的详细信息,或者保存照片和视频。

4、ALAssetRepresentation:

ALAssetRepresentation 是对 ALAsset 的封装(但不是其子类),可以更方便地获取 ALAsset 中的资源信息,每个 ALAsset 都有至少有一个 ALAssetRepresentation 对象,可以通过 defaultRepresentation 获取。而例如使用系统相机应用拍摄的 RAW + JPEG 照片,则会有两个 ALAssetRepresentation,一个封装了照片的 RAW 信息,另一个则封装了照片的 JPEG 信息。

3、图片浏览器的实现

1、授权的检查

要想访问相册功能,根据iOS一惯的作风,肯定是要有授权的。如何检查授权呢?就是使用ALAssetsLibrary类中的静态方法—authorizationStatus,该方法返回一个ALAuthorizationStatus类型的值,如果该值为ALAuthorizationStatusRestr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值