luozhiping

# change readme.md

Showing 1 changed file with 205 additions and 18 deletions
@@ -9,29 +9,216 @@ @@ -9,29 +9,216 @@
9 注:如果不实现HHPhotoPickerManagerDelegate的selectImageRequestError协议可以不用import Photos 9 注:如果不实现HHPhotoPickerManagerDelegate的selectImageRequestError协议可以不用import Photos
10 10
11 # 3,调用示例 11 # 3,调用示例
12 - self.pickerManager = HHPhotoPickerManager(showVC: self);  
13 - self.pickerManager?.viewDelegate = self; 12 + self.pickerManager = HHPhotoPickerManager(showVC: self.showVC);
  13 + self.pickerManager?.photoUIConfigModel = self.uiConfig
  14 + self.pickerManager?.photoConfigModel = self.config
  15 + self.pickerManager?.viewDelegate = self.showVC as? HHPhotoPickerManagerDelegate;
14 self.pickerManager?.showImagePicker() 16 self.pickerManager?.showImagePicker()
15 - 注:showVC和viewDelegate必传 17 + 注:(1)showVC和viewDelegate必传 (2)photoUIConfigModel和photoConfigModel可配置参数,具体参数定义请看下面说明。
16 18
17 # 4,其它说明 19 # 4,其它说明
18 - HHPhotoPickerManager支持个别参数自定义,字段如下:  
19 - /// 允许内部拍照  
20 - public var allowTakePhotoInLibrary = false; 20 + HHPhotoPickerManager自定义参数:
21 21
22 - /// 允许选择原图  
23 - public var allowSelectOriginal = false; 22 + public class HHPhotoConfigModel: NSObject {
24 23
25 - /// 允许选择Gif  
26 - public var allowSelectGif = false;  
27 -  
28 - /// 允许选择视频  
29 - public var allowSelectVideo = false; 24 + // 最大预览张数
  25 + public var maxPreviewCount = 20;
  26 +
  27 + // 最大选择张数
  28 + private var pri_maxSelectCount = 9
  29 +
  30 + public var maxSelectCount: Int {
  31 + get {
  32 + return pri_maxSelectCount
  33 + }
  34 + set {
  35 + pri_maxSelectCount = max(1, newValue)
  36 + }
  37 + }
  38 +
  39 + // 视频最小选择个数
  40 + private var pri_minVideoSelectCount = 0
30 41
31 - /// 允许选择livephoto  
32 - public var allowSelectLivePhoto = false;  
33 -  
34 - /// 允许编辑图片  
35 - public var allowEditImage = false; 42 + public var minVideoSelectCount: Int {
  43 + get {
  44 + return min(maxSelectCount, max(pri_minVideoSelectCount, 0))
  45 + }
  46 + set {
  47 + pri_minVideoSelectCount = newValue
  48 + }
  49 + }
  50 +
  51 + // 视频最大选择个数
  52 + private var pri_maxVideoSelectCount = 0
  53 +
  54 + public var maxVideoSelectCount: Int {
  55 + get {
  56 + if pri_maxVideoSelectCount <= 0 {
  57 + return maxSelectCount
  58 + } else {
  59 + return max(minVideoSelectCount, min(pri_maxVideoSelectCount, maxSelectCount))
  60 + }
  61 + }
  62 + set {
  63 + pri_maxVideoSelectCount = newValue
  64 + }
  65 + }
  66 +
  67 + // 视频最小选择时长
  68 + public var minSelectVideoDuration: Second = 0
  69 +
  70 + // 视频最大选择时长
  71 + public var maxSelectVideoDuration: Second = 120
  72 +
  73 + // cell圆角
  74 + public var cellCornerRadio: CGFloat = 0
  75 +
  76 + // 框架语言
  77 + public var languageType: ZLLanguageType = .system {
  78 + didSet {
  79 + ZLCustomLanguageDeploy.language = self.languageType
  80 + Bundle.resetLanguage()
  81 + }
  82 + }
  83 +
  84 + // 每行显示照片个数(每列个数)
  85 + private var pri_columnCount: Int = 4
  86 +
  87 + public var columnCount: Int {
  88 + get {
  89 + return pri_columnCount
  90 + }
  91 + set {
  92 + pri_columnCount = min(6, max(newValue, 2))
  93 + }
  94 + }
  95 +
  96 + // 排序方式 默认升序
  97 + public var sortAscending = true
  98 +
  99 + // 允许选择图片
  100 + public var allowSelectImage = true
  101 +
  102 + // 允许相册内部拍照
  103 + public var allowTakePhotoInLibrary = false
  104 +
  105 + // 允许选择原图
  106 + public var allowSelectOriginal = false
  107 +
  108 + // 允许选择Gif
  109 + public var allowSelectGif = false
  110 +
  111 + // 允许选择视频
  112 + public var allowSelectVideo = false
  113 +
  114 + // 允许选择livephoto
  115 + public var allowSelectLivePhoto = false
  116 +
  117 + // 允许编辑图片
  118 + public var allowEditImage = false
  119 +
  120 + // 允许图片视频一起选择
  121 + public var allowMixSelect = true
  122 +
  123 + // 允许进入大图界面
  124 + public var allowPreviewPhotos = true
  125 +
  126 + // 涂鸦(只有允许编辑图片才生效)
  127 + public var editImageWithDraw = false
  128 +
  129 + // 裁剪(只有允许编辑图片才生效)
  130 + public var editImageWithClip = false
  131 +
  132 + // 贴图(只有允许编辑图片才生效)
  133 + public var editImageWithImageSticker = false
  134 +
  135 + // 文本(只有允许编辑图片才生效)
  136 + public var editImageWithTextSticker = false
  137 +
  138 + // 马赛克(只有允许编辑图片才生效)
  139 + public var editImageWithMosaic = false
  140 +
  141 + // 滤镜(只有允许编辑图片才生效)
  142 + public var editImageWithFilter = false
  143 +
  144 + // 色值调整(只有允许编辑图片才生效)
  145 + public var editImageWithAdjust = false
  146 +
  147 + // 亮度(只有允许色值调整才生效)
  148 + public var editImageWitAdjustBrightness = false
  149 +
  150 + // 对比度(只有允许色值调整才生效)
  151 + public var editImageWitAdjustContrast = false
  152 +
  153 + // 饱和度(只有允许色值调整才生效)
  154 + public var editImageWitAdjustSaturation = false
  155 +
  156 + public var shouldAnialysisAsset = true
  157 +
  158 + // 允许编辑视频
  159 + var pri_allowEditVideo = false
  160 +
  161 + public var allowEditVideo: Bool {
  162 + get {
  163 + return pri_allowEditVideo && shouldAnialysisAsset
  164 + }
  165 + set {
  166 + pri_allowEditVideo = newValue
  167 + }
  168 + }
  169 +
  170 + // 保存编辑的图片
  171 + public var saveNewImageAfterEdit = true
  172 +
  173 + // 允许拖拽选择
  174 + public var allowDragSelect = false
  175 +
  176 + // 允许滑动选择
  177 + public var allowSlideSelect = true
  178 +
  179 + // 滑动选择时自动滚动
  180 + public var autoScrollWhenSlideSelectIsActive = true
  181 +
  182 + // 自动滚动最大速度
  183 + public var autoScrollMaxSpeed: CGFloat = 600
  184 +
  185 + // 拍照cell显示相机俘获画面
  186 + public var showCaptureImageOnTakePhotoBtn = false
  187 +
  188 + // 显示已选择照片index
  189 + public var showSelectedIndex = true
  190 +
  191 + // 显示已选择照片遮罩
  192 + public var showSelectedMask = true
  193 +
  194 + // 显示已选择照片边框
  195 + public var showSelectedBorder = false
  196 +
  197 + // 显示不可选状态照片遮罩
  198 + public var showInvalidMask = true
  199 +
  200 + // 使用自定义相机
  201 + public var useCustomCamera = true
  202 +
  203 + // 闪光灯
  204 + public var flashMode: ZLCameraConfiguration.FlashMode = .off
  205 +
  206 + }
  207 +
  208 + public class HHPhotoUIConfigModel: NSObject {
  209 +
  210 + // 相册样式:样式一(仿微信) 样式二(传统)
  211 + public var style: ZLPhotoBrowserStyle = .embedAlbumList
  212 +
  213 + // 相册小图界面底部按钮可交互状态下背景色
  214 + public var bottomToolViewBtnNormalBgColor = zlRGB(80, 169, 56)
  215 +
  216 + // 预览大图界面底部按钮可交互状态下背景色
  217 + public var bottomToolViewBtnNormalBgColorOfPreviewVC = zlRGB(80, 169, 56)
  218 +
  219 + // 已选照片右上角序号label背景色
  220 + @objc public var indexLabelBgColor = zlRGB(80, 169, 56)
  221 +
  222 + }
36 223
37 注:此SDK暂时只支持真机 224 注:此SDK暂时只支持真机