项目介绍:
序:微信最新版,选择照片控件细节有所改变,一般有轮子我是不会从新造的 。产品要求一模一样,无奈重新写。调查了一下,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 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)
————————————————
版权声明:本文为CSDN博主「ZY_FlyWay」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ZY_FlyWay/article/details/82016584