Swiftpack.co - Package - longitachi/ZLPhotoBrowser

Version Carthage compatible  License Platform Language

image


重要说明

  • 框架自 4.0.0 版本起,升级为纯Swift编写框架,支持最低版本由 iOS8 升级到了 iOS10
  • 添加并增强了一些实用功能(例如图片编辑、预览界面下方小视图显示及拖拽排序等等)
  • 删除一些功能(网络图片及视频的预览,force touch 等等) 具体使用请下载demo查看

Swift 版本兼容 oc app调用; 如需使用之前的oc版本(oc版本不再维护),请点这里

框架整体介绍

SwiftOC详细使用方法请查看Wiki

功能介绍

你想要的应有尽有,预留给开发者自定义框架参数多达50个(没有的话欢迎提 issue ,功能建议好的话会采纳并着手开发)

  • ☑ 支持横竖屏
  • ☑ 自选框架样式
  • ☑ 预览快速选择(支持拖拽选择,效果参照QQ)
  • ☑ 相册内部选择(支持滑动选择)
  • ☑ 图片/Gif/LivePhoto/Video 混合选择
  • ☑ 自定义最大预览数/选择数/视频最大最小可选时长,控制可否选择原图
  • ☑ 自定义每行显示列数
  • ☑ 图片编辑(涂鸦/裁剪/马赛克)(图片编辑可编辑多张;涂鸦颜色可自定义;裁剪比例可自定义;编辑工具也可根据需要自行选择)
  • ☑ 视频编辑(自定义最大裁剪时长)(效果参照微信视频编辑;支持编辑本地视频)
  • ☑ 自定义相机(效果参照微信拍照,点击拍照、长按拍摄;上滑调整焦距;可设置最大/最小录制时间及视频分辨率;可设置闪光灯模式及视频导出格式;可根据自己需要控制是否使用自定义相机)
  • ☑ 多语言国际化支持(中文简/繁,英文,日文,开发者可选根据系统或自己指定,多语言文案可自定义)
  • ☑ 已选择照片index
  • ☑ 已选/不可选 状态下mask阴影遮罩
  • ☑ 大图界面下方显示已选择照片,可拖拽排序(可根据自己需要控制是否显示)
  • ☑ 大图界面下拉返回
  • ☑ 相机内部拍照cell实时显示相机俘获画面
  • ☑ 可自定义框架字体
  • ☑ 框架各个部位颜色均可自定义(传入dynamic color即可支持 light/dark mode)
  • ☑ 框架内图片资源可自定义

更多功能请查看 ZLPhotoConfiguration 中的参数定义

如果你在使用中有好的需求及建议,或者遇到什么bug,欢迎随时issue,我会及时的回复

框架支持

  • iOS 10.0
  • Swift 5.x
  • Xcode 12.x

使用示例

  • 快速选择
let ps = ZLPhotoPreviewSheet()
ps.selectImageBlock = { [weak self] (images, assets, isOriginal) in
    // your code
}
ps.showPreview(animate: true, sender: self)
  • 直接进入相册选择
let ps = ZLPhotoPreviewSheet()
ps.selectImageBlock = { [weak self] (images, assets, isOriginal) in
    // your code
}
ps.showPhotoLibrary(sender: self)
  • 需要注意的地方,你需要在你app的 Info.plist 中添加如下键值对
//如果不添加该键值对,则不支持多语言,相册名称默认为英文
Localized resources can be mixed YES
//或者右键plist文件Open As->Source Code 添加
CFBundleAllowMixedLocalizations

//相册使用权限描述
Privacy - Photo Library Usage Description
//相机使用权限描述
Privacy - Camera Usage Description
//麦克风使用权限描述
Privacy - Microphone Usage Description

更新日志

更多更新日志

● 4.0.7: 支持设置图片裁剪比例; 自定义相机支持录制时切换摄像头; 新增已选照片边框功能; 新增是否允许预览大图功能;其他细节优化及已知bug修复;
● 4.0.5: 适配iOS14 limited权限; 优化图片预览显示; 优化大长/宽图编辑; 
● 4.0.4: 优化图片编辑体验,记录之前编辑状态; 添加是否允许拍照参数; 优化降序照片获取顺序; fix #510, fix #513; 修复其他已知bug;
● 4.0.2: 新增框架样式设置(新增一种仿微信的样式); 编辑图片添加马赛克功能; 添加下拉返回动画; 自定义相机支持最短录制时间设置; 优化gif照片的回调;
● 4.0.1: 优化视频编辑功能; 增加自定义列数功能; 修复一些bug;
● 4.0.0: 框架升级为纯`Swift`编写,最低支持右`iOS8`升级到`iOS10`;
...

使用方法

  • Manually

    • 1.直接把Sources文件夹拖入到你的工程中
  • Cocoapods

    • 1.在Podfile 中添加 pod 'ZLPhotoBrowser'
    • 2.执行 pod install

    如找不到最新版本,可首先执行pod repo update

  • Carthage

    • 1.在Cartfile 中添加 github "longitachi/ZLPhotoBrowser" ~> 4.0.0
    • 2.执行 carthage update ZLPhotoBrowser --platform iOS
  • Swift Package Manager (该方式集成暂时有问题,图片及多语言资源无法读取,请暂时先用其他方式)

      1. 选择 File > Swift Packages > Add Package Dependency,输入 https://github.com/longitachi/ZLPhotoBrowser.git
      1. 输入对应版本号(SPM 最低版本为 4.0.5
      1. 等Xcode下载完成后确定即可

效果图

  • 选择 image image image

  • 编辑图片

image

  • 编辑视频

image

  • 多语言

image

  • 自定义相机介绍

image

Github

link
Stars: 3248

Dependencies

Used By

Total: 0

Releases

- 2020-09-28 09:59:49

Add

  • 支持设置图片裁剪比例; #524
  • 自定义相机支持录制时切换摄像头; #521
  • 新增已选照片边框功能;
  • 新增是否允许预览大图功能;
  • 新增是否允许预览已选择照片功能;
  • 优化前置摄像头拍照及录像镜像翻转问题;

Fix

  • 修改选择数量超过最大值的提示显示条件错误的bug;
  • 修改选择量达到最大值后无法编辑图片的bug;

- 2020-09-20 04:11:45

Add

  • 适配iOS14 limited权限; #517
  • 优化图片预览显示;
  • 优化大长/宽图编辑;

Fix

  • 修复hud异常显示的问题; #518

- 2020-09-13 05:30:38

Add

  • 优化图片编辑体验,记录之前编辑状态;
  • 添加是否允许拍照参数;#512

Fix

  • 优化降序照片获取方式; #145
  • 处理FDFullscreenPopGesture引起的导航显示异常; #510
  • oc无法使用自定义相机回调; #513
  • 解决embedAlbumList样式下拍照后未更新相册的bug;
  • 修复状态栏样式参数无效的bug;
  • 修复不可选cell遮罩不显示的bug;

- 2020-09-08 09:12:25

Add

  • 新增框架样式设置(新增一种仿微信的样式);
  • 编辑图片添加马赛克功能;
  • 添加下拉返回动画;
  • 自定义相机支持最短录制时间设置;
  • 优化gif照片的回调,选中的gif照片将直接转换成动图回调出去;

- 2020-09-02 11:38:16

Add

  • 优化视频编辑功能;
  • 增加自定义列数功能;

Fix

  • 修复单选情况下点击直接进入编辑界面未跳转的bug;
  • 修复拖拽选择的bug;
  • 修复视频播放完成后未恢复原状的bug;

- 2020-08-31 09:12:53

  • 升级为纯Swift编写框架,支持最低版本由 iOS8 升级到了 iOS10;
  • 添加并增强了一些实用功能(例如图片编辑、预览界面下方小视图显示及拖拽排序等等);
  • 删除一些功能(对SDWebImage的依赖,网络图片及视频的预览,force touch 等等);

- 2020-06-05 11:30:53

Add

  • 添加图片视频选择互斥功能(即只能选择1个视频或最多几张图片);
  • 添加选择量达到最大值时其他cell显示遮罩功能;
  • 删除allowMixSelect,maxVideoSelectCountInMix,minVideoSelectCountInMix参数;

- 2020-04-08 03:39:04

Add

  • 添加自定义相机分辨率(320240, 960540);
  • 编辑视频最小允许编辑5s;
  • 添加相机是否可用检测;

Fix

  • 修正拍照后图片方向. #472;
  • 修正部分多语言错误的问题. #469;

- 2020-01-13 02:52:12

  • 修改曝光模式;
  • 拍照界面显示 "轻触拍照,按住摄像" 提示;
  • 增加直接调用编辑图片api;

- 2019-10-24 11:44:00

Add

SDWebImage 不在指定依赖版本号

- 2019-10-17 10:22:35

Add

  1. 优化进入相册速度及从相册列表进入选择界面流程;
  2. 选择相片时候添加progress;

Fix

  1. 解决原图大小显示错误的bug;
  2. 解决视频录制小于0.3s,按照拍照返回没有图片数据的bug;
  3. 其他已知bug fixed;

- 2019-09-26 09:15:33

1.初步适配iOS13,解决present非fullScreen的问题 2.添加Swift Example Target

- 2019-09-04 10:01:40

Add

  • 网络视频播放添加进度条;
  • SDWebImage依赖升级5.1.0以上版本;

Fix

  • 选中图片index角标bug.#405

- 2019-07-31 10:37:24

1.添加选中图片显示index功能; 2.新增(及修改)部分颜色api,方便修改框架内部颜色; 3.修改框架默认风格为微信的风格; 4.压缩图片资源;

- 2019-06-27 09:58:15

预览快速选择界面文字颜色支持自定义; 编辑界面按钮增大; 解决录制视频超过10s没有声音的bug;

- 2019-05-19 08:21:19

1.添加视频选择最大最小个数限制;. 2.解决网络gif图片无法播放的bug. 3. fix已知bug.

- 2019-05-09 10:37:18

依赖库SDWebImage升级为5.0.2以上; 解决图片浏览器关闭时取消所有sd图片请求的bug; 支持直接调用相机;

- 2019-05-09 07:09:16

- 2019-04-08 05:19:26

- 2019-03-04 10:24:15

- 2019-02-20 03:34:15

- 2019-01-13 10:52:21

- 2018-11-29 03:46:30

- 2018-11-07 10:39:40

- 2018-08-16 03:54:11

- 2018-07-11 15:25:14

- 2018-07-04 06:11:17

- 2018-06-20 12:28:10

- 2018-06-03 14:22:06

- 2018-05-11 01:59:19