美文网首页
一行代码搞定相册选取多张照片或者拍照

一行代码搞定相册选取多张照片或者拍照

作者: WSKing的杂货铺 | 来源:发表于2017-10-23 09:50 被阅读87次

    在项目中,为用户设置头像是基本操作.另外还涉及到很多的图片上传功能,然而,一张张的去选择图片无疑是一个非常麻烦的操作,因此我封装了一个相册多选的功能,另外一个是拍照也一起封装进去.

    一行代码解决

    1,弹出sheet,是选择相册还是相机拍照

    这里我是用的MBProgressHUB的sheet,没有用系统本身的sheet,也比较好用;

    2,相机

    相机就是系统本身的相机功能;后期我会封装多张拍照,一张张的拍也还是比较麻烦;

    之前使用的是imagePicker,只能一张张的拍照,如果我有多张需要拍摄的话,也很麻烦,所以,我重新封装了多张拍照:

    多张拍照效果图

    其实也没什么难度,主要使用AVCaptureSession自动以相机,拍照保存显示,确定代理传值!

    3,相册

    相册我没有使用系统的UIImagePickerController,二十用Photos/Photos.h这个框架来玩的.

    其中,涉及到有可能是第一次使用进入这里,需要统一相册的使用权限,这里我监听了相册的权限改变的情况,然后加载相册相片(不然第一次同意相册权限后进去会是空的,没有照片).

    相机权限改变的方法

    然后就是加载系统相册,这个是Photos/Photos.h里面的方法

    获取本地图片

    再就是collectionView展示所有图片以及选择图片了.


    再然后就是回调的问题了

    typedef void (^CWPhotoMutiPickerCompletion)(NSArray *imageArray);

    这一block回调,返回的是图片的数组;

    @property (nonatomic, copy) CWPhotoMutiPickerCompletion completion;//完成时调用

    实现基础的代码

    上图中的这个block的赋值一定不能忘,不然后面就没办法做赋值回调了.

    很简单,直接贴链接吧,可以直接拿来用.(觉得还行给个star)

    一行代码选取图片----传送门

    相关文章

      网友评论

          本文标题:一行代码搞定相册选取多张照片或者拍照

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