序:微信最新版,选择照片控件细节有所改变,一般有轮子我是不会从新造的 。产品要求一模一样,无奈重新写。调查了一下,GitHub大部分仿微信imagePicker还是基于TZImagePicker,swift出了那么长时间了。决定写一个swift版,因在项目中,时间有限,所以在GitHub找了一个非常好的库进行改写。
##演示
##功能支持
高仿微信细节
不依赖任何第三方库。
ZYImagePickerAndBrower
是一个模仿微信相册多选照片的一个控件。注意了微信相册的一些细节,比如序号,最大选择之后照片变灰,浏览缩略图等等。
ZYImagePickerLayoutView
是相册选择之后的布局view库,单独拿出来做一个UI库,可选集成。
##安装
里面有这两个库,拖到项目即可,具体看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)