iOS仿微信、今日头条等图片浏览器
GKPhotoBrowser是一个可高度自定义的图片、视频浏览器,支持多种显示、隐藏方式,支持自定义遮罩等
如果在使用过程中遇到问题,请先检查使用的版本是否是最新版本(可在说明最上面的pod后面查看),如果不是最新版本,请先更新到最后版本,看看问题是否存在,如果依然存在,可提issue说明或加我QQ1094887059直接问我,最好能提供demo。
默认安装,支持图片(SDWebImage加载)和视频(AVPlayer播放)
pod 'GKPhotoBrowser'
基础库
pod 'GKPhotoBrowser/Core'
SDWebImage加载图片
pod 'GKPhotoBrowser/SD'
YYWebImage加载图片
pod 'GKPhotoBrowser/YY'
AVPlayer播放视频
pod 'GKPhotoBrowser/AVPlayer'
视频播放进度条
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协议
1、 如果使用SDWebImage,请使用SDAnimatedImage加载本地图片
photo.image = [SDAnimatedImage imageNamed:obj];
2、如果使用YYWebImage,请使用YYImage加载本地图片
photo.image = [YYImage imageNamed:obj];
需要设置属性isFollowSystemRotation为YES,此时isScreenRotateDisabled属性将失效
内部默认使用的AVPlayer播放视频,如果想要使用其他播放器可使用基础库,然后创建视频播放类并实现GKVideoPlayerProtocol协议,然后设置播放处理类
[browser setupVideoPlayerProtocol:[CustomPlayerManager class]];
查看其他代码中是否有分类修改了UIViewController的modalPresentationStyle,GKPhotoBrowser的默认modalPresentationStyle是UIModalPresentationCustom,如果有修改则需要屏蔽对GKPhotoBrowser的修改
1、demo
2、仿微信
3、今日头条
4、简书
QQ: 1094887059
QQ群:1047100313
支持作者