|
6 月之前 | |
---|---|---|
.. | ||
GKPhotoBrowser | 6 月之前 | |
LICENSE | 1 年之前 | |
README.md | 6 月之前 |
GKPhotoBrowser是一个可高度自定义的图片、视频浏览器,支持多种显示、隐藏方式,支持自定义遮罩等
如果在使用过程中遇到问题,请先检查使用的版本是否是最新版本(可在说明最上面的pod后面查看),如果不是最新版本,请先更新到最后版本,看看问题是否存在,如果依然存在,可提issue说明或加我QQ1094887059直接问我,最好能提供demo。
### 3.1.0升级说明 ** 3.1.0版本之后对项目部分代码进行了拆分,增加了GKPhotoBrowserConfigure配置类,升级后可按以下方式进行配置
方法一
browser.configure.showStyle = GKPhotoBrowserShowStyleZoom;
[browser.configure setupWebImageProtocol:GKYYWebImageManager.new];
方法二
GKPhotoBrowserConfigure *configure = GKPhotoBrowserConfigure.defaultConfig;
configure.showStyle = GKPhotoBrowserShowStyleZoom;
[configure setupWebImageProtocol:GKYYWebImageManager.new];
browser.configure = configure;
默认安装,支持图片(SDWebImage加载)、视频(AVPlayer播放)、livePhoto(AFNetworking下载)
pod 'GKPhotoBrowser' 或 pod 'GKPhotoBrowser/Default'
基础库
pod 'GKPhotoBrowser/Core'
SDWebImage加载图片
pod 'GKPhotoBrowser/SD'
YYWebImage加载图片
pod 'GKPhotoBrowser/YY'
Kingfisher加载图片
pod 'GKPhotoBrowser/KF'
AVPlayer播放视频
pod 'GKPhotoBrowser/AVPlayer'
ZFPlayer播放视频
pod 'GKPhotoBrowser/ZFPlayer'
IJKPlayer播放视频
pod 'GKPhotoBrowser/IJKPlayer'
AFNetworking下载livePhoto
pod 'GKPhotoBrowser/AF'
Alamofire下载livePhoto
pod 'GKPhotoBrowser/Alamofire'
视频播放进度条
pod 'GKPhotoBrowser/Progress'
1、创建包含GKPhoto的数据源数组
NSMutableArray *photos = [NSMutableArray new];
[cell.timeLineFrame.model.images enumerateObjectsUsingBlock:^(GKTimeLineImage * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
GKPhoto *photo = [GKPhoto new];
photo.url = [NSURL URLWithString:obj.url];
photo.sourceImageView = cell.photosView.subviews[idx];
if (obj.isVideo) {
photo.videoUrl = [NSURL URLWithString:obj.video_url];
}
[photos addObject:photo];
}];
2、创建浏览器
GKPhotoBrowser *browser = [GKPhotoBrowser photoBrowserWithPhotos:photos currentIndex:index];
3、显示
[browser showFromVC:self];
更多功能及属性可在demo和代码中查看
对于iOS14的升级,如果出现图片显示不出来,黑屏等情况,需要把SDWebImage 升级到至少5.8.3版本
2.0.0之后修改了对gif图片的加载方式
1、使用SDWebImage(5.x)加载图片,请使用pod 'GKPhotoBrowser' 或 'GKPhotoBrowser/SD'
2、使用YYWebImage(1.0.5)加载图片,请使用pod 'GKPhotoBrowser/YY'
3、自定义图片加载类,如:SDWebImage 5.0以下版本,请使用pod 'GKPhotoBrowser/Core',然后添加图片加载类并实现GKWebImageProtocol协议
如果想自定义图片加载,请创建类并实现GKWebImageProtocol协议,并在浏览器显示之前进行配置
GKPhotoBrowserConfigure *configure = GKPhotoBrowserConfigure.defaultConfig;
[configure setupWebImageProtocol:CustomWebManager.new];
browser.configure = configure;
如果想自定义视频播放,请创建类并实现GKVideoPlayerProtocol协议,并在浏览器显示之前进行配置
GKPhotoBrowserConfigure *configure = GKPhotoBrowserConfigure.defaultConfig;
[configure setupWebImageProtocol:CustomPlayerManager.new];
browser.configure = configure;
需要设置属性isFollowSystemRotation为YES,此时isScreenRotateDisabled属性将失效
查看其他代码中是否有分类修改了UIViewController的modalPresentationStyle,GKPhotoBrowser的默认modalPresentationStyle是UIModalPresentationCustom,如果有修改则需要屏蔽对GKPhotoBrowser的修改
## 效果图
1、demo
2、仿微信
3、今日头条
4、简书
## 发布
pod trunk push --allow-warnings --skip-import-validation
## 版本记录
<summary><font size=4>最近更新</font></summary>
<summary><font size=4>历史更新</font></summary>
1.6.0 - 2020.03.14 增加双击放大倍数
2020.03.12 修复crash #67,#71 感谢chimingzi,解决编译报错#65
2019.10.20 优化长图闪动问题,适配iOS13
2019.10.12 优化长图放大后点击隐藏时的闪动问题
2019.08.15
2019.07.24 增加方法可跳转到指定位置的图片
2019.07.02
2019.05.31 修复循环引用导致的内存溢出问题
2019.05.06 修复长图不能上滑问题
2019.05.05 细节优化,修复可能出现的黑圈闪动问题
2019.04.26 增加支持查看原图功能
2019.04.15 bug fixed
2019.03.28 增加GKPhotoBrowserFailStyle,可自定义图片加载失败后的显示方式
2019.03.21 适配SDWebImage 5.x版本
2019.03.18 修复图片加载器不显示问题
2019.01.09 增加浏览器完全消失后的回调
2018.12.29 优化图片隐藏时的图片旋转问题
2018.12.28 优化长图从底部滑动隐藏时出现的问题
2018.12.18 优化图片显示时的加载问题
2018.12.17 修复只传入sourceFrame时的显示问题
2018.12.10 增加是否开启处理手势冲突的属性isPopGestureEnabled
2018.11.09 优化只有一张图片显示时的细节
2018.09.18 适配iPhone XS,iPhone XS Max,iPhone XR
2018.08.30
2018.08.24 修复加载失败时切换横竖屏加载视图位置不准及无法隐藏的问题
2018.08.20 修复影响UITableview与UICollectionView滑动卡顿问题
2018.08.07
2018.08.01
2018.07.30
2018.06.30
2018.06.13 支持GIF图片的显示
2018.05.28 修复本地图片不能双击放大的问题
2018.05.23 全面适配iPhone X
2018.05.14
2018.04.01
QQ群:1047100313
支持作者