Latest 2.5.1.1
Homepage https://github.com/longitachi/ZLPhotoBrowser
License MIT
Platforms ios 8.0, requires ARC
Dependencies SDWebImage
Frameworks UIKit, Photos, PhotosUI
Authors

image

Version
License
Platform
Language


框架整体介绍

功能介绍

  • [x] 支持横竖屏 (已适配iPhone X)
  • [x] 预览快速选择、可设置预览最大数
  • [x] 直接进入相册选择
  • [x] 预览界面拖拽选择
  • [x] 相册内滑动多选
  • [x] 裁剪图片(可自定义裁剪比例)
  • [x] 编辑视频
  • [x] 查看、选择gif、LivePhoto(iOS9.0)、video
  • [x] 3D Touch预览image、gif、LivePhoto、video
  • [x] 混合选择image、gif、livePhoto、video
  • [x] 在线下载iCloud照片
  • [x] 控制选择video最大时长
  • [x] 多语言国际化(中文简/繁、英文、日文,可设置跟随系统和自行切换)
  • [x] 相册内拍照按钮实时显示镜头捕捉画面
  • [x] 已选择图片遮罩层标记
  • [x] 预览已选择照片
  • [x] 预览网络及本地照片(支持长按保存至相册)
  • [x] 相册内图片自定义圆角弧度
  • [x] 自定义升序降序排列
  • [x] 支持点击拍照及长按录制视频 (仿微信)
  • [x] 开发者可自定义资源图片

Feature

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

更新日志

● 2.5.1: ①:新增自定义相机(仿微信),开发者可选使用自定义相机或系统相机;
         ②:支持录制视频,可设置最大录制时长及清晰度;
● 2.5.0.2: 新增自行切换框架语言api; 编辑图片界面当只有一个比例且为custom或1:1状态下隐藏比例切换工具条;
● 2.5.0.1: 提供逐个解析图片api,方便 shouldAnialysisAsset 为 NO 时的使用; 提供控制是否可以选择原图参数;
● 2.5.0: 新增选择后是否自动解析图片参数 shouldAnialysisAsset (针对需要选择大量图片的功能,框架一次解析大量图片时,会导致内存瞬间大幅增高,建议此时置该参数为NO,然后拿到asset后自行逐个解析); 修改图片压缩方式,确保原图尺寸不变
● 2.4.9: 新增预览界面拖拽选择的功能; 支持开发者使用自定义图片资源; 开放导航标题颜色、底部工具栏背景色、底部按钮可交互与不可交互标题颜色的设置api;
● 2.4.6: 新增网络图片长按保存至相册功能;
● 2.4.3: 适配iPhone X,优化初次启动进入相册速度,预览网络图片可设置是否显示底部工具条及导航右侧按钮;
● 2.4.2: 新增编辑视频功能;
● 2.4.1: 新增仿iPhone相册滑动多选功能;
● 2.4.0: 新增预览网络及本地图片api,并可进行选择删除;
● 2.3.3: 删除废弃文件,新增在已选择图片上显示遮罩层标记功能;
● 2.3.2: 新增设置导航颜色api,适配横屏,适配iPad;
● 2.2.9: 新增单选模式下选择图片后直接进入编辑界面功能,提供设置裁剪比例api;
● 2.2.8: 更新编辑图片功能,增加裁剪比例选项(1:1, 3:4, 2:3, 9:16,等比例,开发者可根据需求,按照规则自行添加所需比例);
● 2.2.6: ①:可混合选择image、gif、livephoto、video类型;
         ②:支持video、gif、livephoto类型的多选;
         ③:支持控制video最大选择时长;
● 2.2.3: 新增图片编辑功能;
● 2.2.1: 新增3D Touch预览功能 (需设备支持);

框架支持

最低支持:iOS 8.0

IDE:Xcode 9.0 及以上版本 (由于适配iPhone X使用iOS11api,所以请使用Xcode 9.0及以上版本)

使用方法

第一步:

  • Manually
    • 1.直接把PhotoBrowser文件夹拖入到您的工程中
    • 2.导入 Photos.framework及PhotosUI.framework
    • 3.项目依赖 SDWebImage,所以需要导入该框架
    • 4.导入 "ZLPhotoActionSheet.h"
  • Cocoapods
    • 1.在Podfile 中添加 pod 'ZLPhotoBrowser'
    • 2.执行 pod setup
    • 3.执行 pod installpod update
    • 4.导入 <ZLPhotoActionSheet.h>

第二步:

  • 在项目plist配置文件中添加如下键值对
    
    //如果不添加该键值对,则不支持多语言,相册名称默认为英文
    Localized resources can be mixed YES
    //或者右键plist文件Open As->Source Code 添加
    <key>CFBundleAllowMixedLocalizations</key>
    <true/>

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


代码中调用
```objc
#import "ZLPhotoActionSheet.h"

ZLPhotoActionSheet *actionSheet = [[ZLPhotoActionSheet alloc] init];
//设置照片最大预览数
actionSheet.maxPreviewCount = 20;
//设置照片最大选择数
actionSheet.maxSelectCount = 10;
actionSheet.sender = self;

[actionSheet setSelectImageBlock:^(NSArray<UIImage *> * _Nonnull images, NSArray<PHAsset *> * _Nonnull assets, BOOL isOriginal) {
    //your codes
}];

//调用相册
[actionSheet showPreviewAnimated:YES];

//预览网络图片
[actionSheet previewPhotos:arrNetImages index:0 hideToolBar:YES complete:^(NSArray * _Nonnull photos) {
    //your codes
}];

问答

  • 关于 @available(9.0, *) 报错 (#90)

    该错误会出现在XCode 9.0以下版本,把该代码替换为 [UIDevice currentDevice].systemVersion.floatValue >= 9.0 即可

  • pod 2.4.3 以下版本更新到 pod 2.4.3 以上版本报如下错误 Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<ZLThumbnailViewController 0x15bed0d10> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key verLeftSpace.'

    由于 pod 2.4.3 版本删除对应xib,所以请执行 command+shift+k clean项目,重启Xcode即可

效果图

  • 多语言国际化效果图
    image
    image
    image
    image

  • iPhone X

image

image

  • 3DTouch预览效果图

image

  • 编辑视频预览图

image

  • 编辑图片预览图

image

  • 自定义相机效果图及介绍

image
image

  • 滑动多选预览图

image

  • 拖拽选择预览图

image

  • 混合选择预览图

image

  • 横屏预览图

image

  • 预览网络图片

image

  • 遮罩层

image

  • 预览快速多选效果图

image
image

  • 直接进入相册选择相片效果图

image

  • 预览大图及缩放效果图

image
image
image

  • 拍照

image

  • 相册内混合选择效果图

image

  • 预览已选择照片效果图

image
image

  • 原图功能效果图

image

Latest podspec

{
    "name": "ZLPhotoBrowser",
    "version": "2.5.1.1",
    "summary": "A simple way to multiselect photos from ablum, force touch to preview photo, support portrait and landscape, edit photo, multiple languages(Chinese,English,Japanese)",
    "homepage": "https://github.com/longitachi/ZLPhotoBrowser",
    "license": "MIT",
    "platforms": {
        "ios": "8.0"
    },
    "authors": {
        "longitachi": "[email protected]"
    },
    "source": {
        "git": "https://github.com/longitachi/ZLPhotoBrowser.git",
        "tag": "2.5.1.1"
    },
    "source_files": "PhotoBrowser/*.{h,m}",
    "resources": "PhotoBrowser/resource/*.{png,xib,nib,bundle}",
    "requires_arc": true,
    "frameworks": [
        "UIKit",
        "Photos",
        "PhotosUI"
    ],
    "dependencies": {
        "SDWebImage": []
    }
}

Pin It on Pinterest

Share This