ZDPhotoKit
项目介绍
这是一个用Swift编写的图片选择组件
可以展示普通图片、Gif、LivePhoto以及视频
可以预览普通图片、Gif、LivePhoto以及视频
可以切换相册
可以进行简单剪裁
可以进行拍照与视频拍摄
可以进行图片多选与视频单选,注意视频与图片不可同时选择
目前已知的一些Bug
- 对于Gif预览没有很好优化,使用原生UIImage进行展示,预览的时候会比较消耗内存
- 角标显示数字的时候,点击时会有闪烁,这是刷新cell重新获取image导致的问题,目前还没有想到更好的方法,还请各位提供指导
将 ZDPhotoKit 添加到您的项目
CocoaPods 是添加ZDPhotoKit
到您项目中的推荐方式。
- 在您的Podfile中添加一个
ZDPhotoKit
条目
pod 'ZDPhotoKit'
- 通过运行以下命令来安装Pod:
pod install
- 在需要使用
ZDPhotoKit
时,通过以下方式进行包含:
import ZDPhotoKit
例子
// 首次进来后直接进入第一个相册图片展示页面(相机胶卷)
let picker = ZDPhotoPickerController()
picker.isAllowGif = true
picker.isAllowLive = true
picker.isAllowVideo = true
picker.isAllowCropper = true
picker.isAllowCaputreVideo = true
picker.isAllowTakePhoto = true
picker.isAllowShowLive = true
picker.isAllowShowGif = true
picker.isShowSelectCount = false
picker.maxSelected = 5
picker.rowImageCount = 7
let navi = UINavigationController(rootViewController: picker)
present(navi, animated: true, completion: nil)
// 选择资源的回调
picker.selectAssetsCallback = { selectAssets, assetTypeSet, isOriginal in
for asset in selectAssets {
print(asset)
}
print(assetTypeSet.first.debugDescription)
print(isOriginal)
}
// 拍照的回调
picker.takePhotoCallback = { image in
print(image)
}
// 拍摄的回调
picker.takeVideoCallback = { image, url in
print(image)
print(url)
}
// 剪裁的回调
picker.selectCropImageCallback = { image in
print(image)
}
说明
俗话说万事开头难,所以与其犹豫不决,不如先提交再说。
对于iOS平台来说,图片选择的组件确实很多,然而针对Swift的组件据我所知并不多。
如果你有好的组件,请告诉我,我也要好好学习一下。
开发这个组件,完全是基于我个人的功能需求进行的。
在开发过程中,我也不断地去阅读OC中优秀的图片选择组件,特别是TZImagePickerController组件。
自己个人的水平有限,还请大家多多指教。
我之前也在犹豫是否要有ZD前缀名,后来想想为了避免冲突,还是加上吧。
后面我会在简书上写一篇文章介绍如何使用这个ZDPhotoKit。