本文简单分析下 ZLPhotoBrowser
的源代码,
其中的图片旋转,使用的是 ZLClipImageViewController
ZLPhotoBrowser
代码比较绕,很有意思
特色:
大部分封装的功能控制器,使用的入口是 ZLPhotoPreviewSheet
例外:
图片预览控制器, 使用 ZLImagePreviewController
,可方便地直接调用
照相机,使用 ZLCustomCamera
,可方便地直接调用
1.1 , 图片旋转控制器的官方调用流程
先进入预览界面
ZLPhotoPreviewSheet
类里面,
func showPreviewController(_ models: [ZLPhotoModel], index: Int) {
let vc = ZLPhotoPreviewController(photos: models, index: index)
let nav = self.getImageNav(rootViewController: vc)
// ...
self.sender?.showDetailViewController(nav, sender: nil)
}
预览界面,进入编辑界面, ZLEditImageViewController
func showEditImageVC(image: UIImage) {
let model = self.arrDataSources[self.currentIndex]
let nav = self.navigationController as! ZLImageNavController
ZLEditImageViewController.showEditImageVC(parentVC: self, image: image, editModel: model.editImageModel) { [weak self, weak nav] (ei, edit