iOS 仿微信相册选择照片imagePicker(Swift) 序号 预览缩略图

序:微信最新版,选择照片控件细节有所改变,一般有轮子我是不会从新造的 。产品要求一模一样,无奈重新写。调查了一下,GitHub大部分仿微信imagePicker还是基于TZImagePicker,swift出了那么长时间了。决定写一个swift版,因在项目中,时间有限,所以在GitHub找了一个非常好的库进行改写。

##演示

##功能支持

高仿微信细节

  • 相册序号选择: 微信样式多选照片
  • 预览序号选择: 预览时可以序号选择
  • 预览缩略图和大图联动: 联动样式仿微信
  • 网络图片浏览: 有时需要处理服务器返回网络图片
  • 快速布局UI: 只需集成 ZYImagePickerLayoutView 可自动将照片布局

结构

不依赖任何第三方库。

ZYImagePickerAndBrower 是一个模仿微信相册多选照片的一个控件。注意了微信相册的一些细节,比如序号,最大选择之后照片变灰,浏览缩略图等等。

ZYImagePickerLayoutView 是相册选择之后的布局view库,单独拿出来做一个UI库,可选集成。

支持

  • 支持iOS8+
  • Swift4.1
  • Cocospods

##安装

手动Demo

里面有这两个库,拖到项目即可,具体看demo。

Cocospods Demo:

pod 'ZYImagePickerAndBrower', '~> 1.0.0' pod 'ZYImagePickerLayoutView', '~> 0.1.7' 可选

使用

设置主题颜色

ZYPhotoAlbumSkinColor = UIColor.orange

选照片

 let photoAlbumVC = ZYPhotoNavigationViewController(photoAlbumDelegate: self, photoAlbumType: .selectPhoto)    //初始化需要设置代理对象
        photoAlbumVC.maxSelectCount = 9   //最大可选择张数
        self.navigationController?.present(photoAlbumVC, animated: true, completion: nil)

ZYPhotoAlbumProtocol回调

 func photoAlbum(selectPhotos: [ZYPhotoModel]) {
        //选择的照片之后去layoutView显示
        let imageArray = selectPhotos.map { (model) -> UIImage in
            return model.thumbnailImage!
        }
        imagePickerView.dataSource = imageArray
        imagePickerView.numberOfLine = 4
        imagePickerView.reloadView()
        imagePickerView.addCallBack = { () in
            self.goPickerController()
        }
 }

预览图片: ZYPhotoModel支持url,image预览

 let photoPreviewVC = ZYPhotoPreviewDeleteViewController()
        photoPreviewVC.previewPhotoArray = self.selectIamgeArr        //传入预览源,为WQPhotoModel数组,支持缩略图,原图和网络图
        photoPreviewVC.currentIndex = index                    //当前展示第几张
        photoPreviewVC.isAllowDelete = false
        self.navigationController?.pushViewController(photoPreviewVC, animated: true)

后记

参考基础库: https://github.com/wCodeQ/WQPhotoAlbum

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券