GQImageVideoViewer 0.0.4

GQImageVideoViewer 0.0.4

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最新版本2017年2月

BossyGao 维护。



  • developer_高

     

GQImageVideoViewer

一款仿微信的多图片及视频浏览器,图片和视频以原尺寸显示,不会变形,双击图片可放大缩小,单击可消失,支持多张本地和网络图片以及网络视频混合查看,支持链式调用。不需要跳转到新的 viewcontroller,可以直接覆盖当前控制器显示。

概述

Demo Overview

基本用法

1. 将 GQImageVideoViewer 文件夹添加到工程中。如果您工程中有 SDWebImage,则无需再次添加,如果没有,则需要将 SDWebImage 添加。

2. 在需要使用图片查看器的控制器中导入 "GQImageVideoViewer.h"

3. 在需要触发查看器的地方添加以下代码

注意: 图片数组中可以放置单独的 NSString, NSUrl, UIImage, UIImageView,如果单独放置这些类型,则默认为图片类型。

如果需要放置视频链接,则需要放字典或 GQBaseImageVideoModel 类型,数组的键为以下两个: (1).GQURLString(链接地址,支持类型为 NSUrl 和 NSString) (2).GQIsImageURL(是否为图片,如果是图片地址则传 YES,如果是视频地址则传 NO)。

如果需要自定义图片和视频显示界面,则需要分别继承基类:(分别在两个覆盖方法中写入需要自定义的样式。) (1).自定义图片显示 view:继承 GQBaseImageView 类,然后在子类中覆盖方法:- (void)configureImageView; (2).自定义视频显示 view:继承 GQBaseVideoView 类,然后在子类中覆盖方法:- (void)configureVideoView;

NSMutableArray *imageArray = [[NSMutableArray alloc] initWithCapacity:0];

NSURL *url = [NSURL URLWithString:@"http://static.tripbe.com/videofiles/20121214/9533522808.f4v.mp4"];

[imageArray addObjectsFromArray:@[@{GQIsImageURL:@(NO),
                                        GQURLString:url},
                                      @{GQIsImageURL:@(NO),
                                        GQURLString:[NSURL URLWithString:@"http://192.168.31.152:8080/abc.mp4"]},
                                      @{GQIsImageURL:@(NO),
                                        GQURLString:url},
                                      @{GQIsImageURL:@(YES),
                                        GQURLString:@"http://cdn.cocimg.com/bbs/attachment/upload/30/5811301473150224.gif"},
                                      @{GQIsImageURL:@(YES),
                                        GQURLString:@"http://img0.imgtn.bdimg.com/it/u=513437991,1334115219&fm=206&gp=0.jpg"},
                                      @{GQIsImageURL:@(YES),
                                        GQURLString:@"http://h.hiphotos.baidu.com/image/pic/item/203fb80e7bec54e7f14e9ce2bf389b504ec26aa8.jpg"},
                                      @{GQIsImageURL:@(YES),
                                        GQURLString:@"http://f.hiphotos.baidu.com/image/pic/item/a8014c086e061d9507500dd67ff40ad163d9cacd.jpg"},
                                      @{GQIsImageURL:@(YES)]];


//基本调用
[[GQImageVideoViewer sharedInstance] setImageArray:imageArray];//这是图片和视频数组
[GQImageVideoViewer sharedInstance].usePageControl = YES;//设置是否使用pageControl
[GQImageVideoViewer sharedInstance].selectIndex = 5;//设置选中的图片索引
[GQImageVideoViewer sharedInstance].achieveSelectIndex = ^(NSInteger selectIndex){
    NSLog(@"%ld",selectIndex);
};//获取当前选中的图片索引
[GQImageVideoViewer sharedInstance].laucnDirection = GQLaunchDirectionRight;//设置推出方向
[[GQImageVideoViewer sharedInstance] showInView:self.navigationController.view];//显示GQImageViewer到指定view上

//链式调用
[GQImageVideoViewer sharedInstance]
.imageArrayChain(imageArray)
.usePageControlChain(NO)
.selectIndexChain(6)
.achieveSelectIndexChain(^(NSInteger selectIndex){
    NSLog(@"%ld",selectIndex);
})
.launchDirectionChain(GQLaunchDirectionRight)
.showViewChain(self.navigationController.view);

特别说明,如果是抓取网络图片,iOS 9 以上的系统需要添加 plist 字段,否则无法抓取图片。

<key>NSAppTransportSecurity</key>

<dict>

<key>NSAllowsArbitraryLoads</key>

<true/>

</dict>

版本历史

(1) 0.0.1

github 添加代码

(2) 0.0.2

添加 model,传递图片和视频数组更加方便。

(3) 0.0.3

将 tableView 替换为 collectionView,完美适配屏幕旋转,修复滑动不播放的 bug。

(4) 0.0.4

添加自定义图片展示和视频展示功能

(5) 等待一下

支持

欢迎指出 bug 或者需要改善的地方,欢迎提出 issues,或者联系 qq:763007297,我会及时做出回应,如果您觉得好用的话,不妨给个 star 吧,您的每个 star 都是我持续维护的强大动力。