Skip to content

Wechat-like image picker. Support select normal photos, videos, gif and livePhoto. Support edit image and crop video. 微信样式的图片选择器,支持预览/相册内拍照及录视频、拖拽/滑动选择,编辑图片/视频,支持多语言国际化等功能;

License

Notifications You must be signed in to change notification settings

ifbear/ZLPhotoBrowser

 
 

Repository files navigation

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

About

Wechat-like image picker. Support select normal photos, videos, gif and livePhoto. Support edit image and crop video. 微信样式的图片选择器,支持预览/相册内拍照及录视频、拖拽/滑动选择,编辑图片/视频,支持多语言国际化等功能;

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 99.6%
  • Other 0.4%