KNPhotoBrowser
最像中国微信(腾讯)和微博(新浪)的照片或视频浏览器
如果您有任何功能需要添加,请通过电子邮件与我联系。欢迎点赞
更新内容
描述 |
---|
基于UIViewController |
适配屏幕旋转和iPad分屏 |
适配iPhone5 至iPhone14Pro_Max |
本地和网络图片及gif图片 |
本地和网络视频 |
PageControl可添加目标以改变值 [API] |
平移手势关闭或取消(普通图片、长图、视频)[API] |
预加载图片,最多8张 [API] |
视频播放器自动播放 [API] |
视频播放器倍速播放 [API] |
视频播放器支持在线播放(无缓存,无下载)[API] |
视频播放器支持下载后播放(下次会搜索)[API] |
在PhotoBrowser上显示自定义视图 [API] |
在PhotoBrowser上显示自定义视图,并设置跟随PhotoBrowser的动画 [API] |
PhotoBrowser显示前,所有图像控件可自定义 [API] |
所有操作通过代理进行 [代理] |
推送ViewController(2022-12)[API] |
重新加载集合数据源(2022-12)[API] |
使用源路径加载本地图片(2024-03)[API] |
待办事项:
- 点击视频播放器关闭 [演示中已完成]
- 播放视频并在后台下载视频
- 视频播放器下次播放时记忆播放位置(当前秒数)
- 当PhotoBrowser即将显示或关闭时,隐藏或显示源图像视图(通过代理函数通知演示)[演示中已完成]
- 视频播放器改变比例
1.使用前需要了解
- 1.依赖
>=SDWebImage(5.0)
,如需本地gif图片,依赖>=SDWebImage(5.8.3)
- 2.图片和视频播放已可直接使用
- 3.图片或视频下载已可直接使用
- 4.可根据需要自定义控件
- 5.自动管理已下载的图片或视频
2.使用方法
(1).初始化基本参数
// 1.将每个控件作为一个对象,放入数组中
KNPhotoItems *items = [[KNPhotoItems alloc] init];
items.url = @"http://xxxxxxxx/xxx.png";
items.sourceView = imageView;
// 如果当前url是视频类型
// items.isVideo = true;
// 如果当前图片是本地gif
// itemM.isLocateGif = true;
// 如果当前图片是带路径url的本地图片
// itemM.url = @"/xx/ssd/xxx/ss.png"
// itemM.
[self.itemsArr addObject:items];
(2).初始化PhotoBrowser
KNPhotoBrowser *photoBrowser = [[KNPhotoBrowser alloc] init];
photoBrowser.itemsArr = [self.itemsArr copy];
photoBrowser.currentIndex = tap.view.tag;
/// PhotoBrowser将显示
[photoBrowser present];
/// PhotoBrowser将关闭
/// [photoBrowser dismiss];
(3).代理函数描述
photoBrowser 将被关闭
/// photoBrowser 将以当前索引关闭
- (void)photoBrowser:(KNPhotoBrowser *)photoBrowser willDismissWithIndex:(NSInteger)index;
photoBrowser 右侧按钮被点击
/// photoBrowser 右上角按钮被点击,带有当前索引(你可以自定义右侧按钮,但如果你自定义了右侧按钮,你需要实现你的目标动作)
- (void)photoBrowser:(KNPhotoBrowser *)photoBrowser rightBtnOperationActionWithIndex:(NSInteger)index;
.....
(4).浏览器的组件:KNPhotoItems
items 的基本参数
/// 如果是网络图片,设置 `url`,不要设置 `sourceImage`
@property (nonatomic,copy ) NSString *url;
/// 如果是本地图片,设置 `sourceImage`,不要设置 `url`
@property (nonatomic,strong) UIImage *sourceImage;
/// sourceView 是当前用于显示图片或视频的控件。
/// 1. 如果 sourceView 是 `UIImageView` 或 `UIButton` 类型,只需设置 `sourceView`。
/// 2. 如果 sourceView 是自定义视图,设置 `sourceView`,但不要忘记设置 `sourceLinkArr` 和 `sourceLinkProperyName`。
@property (nonatomic,strong) UIView *sourceView;
自定义源视图(这非常好用)
@property (nonatomic,strong) NSArray<NSString *> *sourceLinkArr;
/**
例如:
如果最后一个对象是 UIImageView 类型,则 `sourceLinkProperyName` 为 `image`
如果最后一个对象是 UIButton 类型,则 `sourceLinkProperyName` 为 `currentBackgroundImage` 或 `currentImage`
*/
/// sourceLinkArr 最后一个对象的属性名
@property (nonatomic,copy ) NSString *sourceLinkProperyName;
3.如何安装
pod 'KNPhotoBrowser'
// 终端:cd ~(当前路径)
pod install 或 pod update
5.顺便说一下
- 如果你有任何想法,随时联系我!谢谢