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

##演示

##功能支持

高仿微信细节

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

结构

不依赖任何第三方库。

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

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

支持

  • 支持iOS8+
  • Swift4.1
  • Cocospods

##安装

手动Demo:

里面有这两个库,拖到项目即可,具体看demo,资源图片路径有问题,需要手动加入asset。

Cocospods Demo:

pod 'ZYImagePickerAndBrower', '~> 1.1.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 inreturn model.thumbnailImage!}imagePickerView.dataSource = imageArrayimagePickerView.numberOfLine = 4imagePickerView.reloadView()imagePickerView.addCallBack = { () inself.goPickerController()}}

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

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

后记

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

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

  1. HTML精仿ios相册,iOS开发-仿微信相册选择Demo

    前言 这是一篇基于苹果PhotoKit框架,仿微信聊天内相册选择的Demo. 附上GIF: 使用方法: //先pod文件,目前最新版本0.3.0,作者持续更新,建议后期都pod最新版本 pod 'TJ ...

  2. iOS仿微信相册界面翻转过渡动画

    点开微信相册的时候,想要在相册图片界面跳转查看点赞和评论时,微信会采用界面翻转的过渡动画来跳转到评论界面,好像是在图片界面的背面一样,点击完成又会翻转回到图片界面,这不同于一般的导航界面滑动动画,觉得 ...

  3. Kotlin 实战翻译 —— 仿微信图片选择开源库ImagePicker

    2017.10.27补充 在用Kotlin写项目的时候由于不能使用生成成员变量的快捷键,导致我写findViewById浪费了好多时间,后来才发现Kotlin对Android有更好的支持,可以完全不用 ...

  4. uniapp框架如何实现仿微信相册 | 图视频过滤、相册选择功能

    今天我们分享基于uniapp + vue实现仿微信相册实例,该插件完全还原了微信相册的功能 1: 相册选择 2: 图片,视频类型过滤 3: 自定义相册界面UI 技术实现 开发环境:HbuilderX ...

  5. IOS仿微信朋友圈的日期处理

    IOS仿微信朋友圈的日期处理 经常刷微信朋友圈的朋友,都能看到该条信息是什么发送的,有刚刚,有昨天,有xxxx年xx月xx日发送的,今天我们就探究微信内部是怎么样去做的. 对于传入的时间,一般是从服务 ...

  6. Flutter自定义相机,Flutter相册选择照片

    题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精. github? 测试源码在这里 百度同步 CSDN 网易云课堂教程 掘金 知乎 Flutter系列文章 头条同步 实际项目开发中,谷歌 ...

  7. uniapp框架如何实现仿微信相册插件 | 图视频编辑 + 压缩

    在上上篇文章中(),我们基于uniapp框架实现了仿微信相册中的拍照+录像功能.今天,就继续在uni-app中实现: 1: 图片编辑 2: 视频编辑 3: 文件压缩 技术实现 开发环境:Hbuilde ...

  8. iOS 仿微信灵活添加标签

    iOS 仿微信灵活添加标签 原作者的github 地址 喜欢的点赞 https://github.com/DreamFlyingCow/TTTags 效果如下,iOS 13 访问私有属性 会崩溃,自己 ...

  9. IOS仿微信键盘快捷工具栏

    IOS仿微信键盘快捷工具栏 环境 ios15 .Xcode13.0 https://gitee.com/johnson__save_admin/test-amuse-view-controller-o ...

最新文章

  1. 渗透测试是否需要学习Linux
  2. 隐藏画质代码_如何让千元机高画质满帧吃鸡?最全教程奉上!
  3. JavaScript (二)
  4. redis开启外网访问
  5. java初学之stream
  6. MVC4项目中验证用户登录一个特性就搞定
  7. input 禁用智能提示_如何在智能手机上禁用紧急警报
  8. spring http缓存_HTTP缓存与Spring示例
  9. getexternalfilesdir 相册_音乐相册(电子相册制作)V5.2 安卓最新版
  10. Android之旅--Handler与多线程
  11. 计算机电路基础填空题,计算机电路基础期末复习练习题.doc
  12. 职场上,领导讨厌但老板喜欢的3类员工
  13. 主机与虚拟机不能通信
  14. access insert语句怎么写_ySQL中特别实用的几种SQL语句送给大家
  15. HashTable源码
  16. 电磁场仿真原理——5. 有限元法(FEM)
  17. qq账号绑定服务器地址,网站接入 QQ 登录整合社交账号登录 - 文章教程
  18. Chrome远程调试手机端UC浏览器
  19. 实战篇--优惠券秒杀
  20. 影驰gtx960显卡怎么样_影驰gtx960 2g_影驰gtx960 2g跑分

热门文章

  1. 常用交换机品牌ONV/光网视解析PoE交换机常见问题
  2. 【机械仿真】基于matlab简化几何解法六轴机械臂位置规划【含Matlab源码 2128期】
  3. 计算机网络对我们意味着什么,全网通手机的普及对我们来说意味着什么?
  4. html段落取消首行缩进,HTML段落首行缩进
  5. layUI穿梭框获取穿梭值(整理)
  6. 面试之-3.0概率质量函数,概率密度函数,概率分布函数
  7. 百视通与微软共同宣布9月在华发布Xbox One
  8. C语言课程设计:新冠疫情管理系统
  9. lol手游一直显示服务器维护,《lol手游》Serveriscurrentlyundermaintenance解决方法 异常解决攻略...
  10. [Vue CLI 3] Uglify 相关的应用和设计