引述
这几天我一直在想,我应该从分享什么开始,看了自己多年封装的工具集合,看到了它,让我瞬间知道我的分享之路应该从何说起。当我们使用APP的时候,首先引入眼前的莫过于每一个APP都带的引导页吧。APPStore上有上百万个应用,每一个应用都带有启动图或者引导页。而他们又有很多不同的种类。本人自入行iOS开发以来,开发了很多APP,也写了很多不同种类的引导页,有一张图带倒计时的,有四张手动滑动的,有Gif动图的,也有带有浮层水印的,也见到过其他APP播放视频的(如新浪微博一次的更新),于是,本人在2016年16年农历新年放年假的时候就写了这么一个框架,将这些种类都结合在一块
使用方法
一丶将DWQIntroductionAndLaunch拖入工程中【注意】,此框架依托于SDWebImage,如果你的程序中已经存在,请删除文件夹下的。</br>
二丶在Appelegate中引入头文件DWQLaunchVC.h,DWQAdDetailVC.h,DWQIntroductionPage.h,然后遵循协议,声明属性,代码如下:
@interface AppDelegate ()<DWQLaunchDelegate,DWQIntroductionDelegate>
{
DWQIntroductionPage * _dwqIntroductionPage;
NSArray * _dwqCoverImgNameArr; //浮层
NSArray * _dwqBgImgNameArr;//引导页图片
NSArray * _dwqCoverTitleArr;//浮层title
NSURL * _dwqVideoUrl; //视频
DWQLaunchVC * _dwqLaunch;
}
三丶引导页的调用方法有五种,具体如下,调用方法为【self normalGuid】;具体种类的模式下方代码介绍
/*分别为:normalGuid, 传统引导页
guidWithCover, 带有浮层的引导页
coverWithCustom, 可在浮层中添加自定义控件
videoGuid, 视频引导页
videoGuidWithCustom 视频可以自定义浮层的
*/
四丶详情页使用,在Appdelegate.m文件中加入代理方法和点击事件
//详情页代理
- (void)dwqLaunchAdImgViewAction:(id)sender withObject:(id)object{
DWQLaunchVC * dwqVC = object;
DWQAdDetailVC * detailVC = [[DWQAdDetailVC alloc]init];
detailVC.dwqWebUrl = @"https://github.com/DevelopmentEngineer-DWQ";
detailVC.dwqRootVC = dwqVC.dwqRootVC;
[dwqVC presentViewController:detailVC animated:YES completion:nil];
}
//进入按钮事件
- (void)dwqIntroductionViewEnterTap:(id)sender{
_dwqIntroductionPage = nil;
[_dwqLaunch dwq_startFire];//和引导页(DWQIntroductionPage)一起用的时候加上这句
}
五丶使用注意事项:</br>1.在添加自定义控件时,要确保添加的自定义控件的数组和引导页的张数保持一致,</br>2.如果想使用倒计时模式,需要注释掉 _dwqIntroductionPage = [self coverWithCustom];//五种方式调用方法</br>3.本地视频播放需要把视频文件添加到工程中创建阶段下载的复制包资源中
效果图如下
传统模式静态图.gif传统模式Gif图.gif 带浮层引导页.gif 带有视频的.gif 带有自定义控件的引导页.gif 倒计时最终.gif
框架地址
GitHub-Demo
大家记得多给Star噢!您的支持是我努力下去的动力。
网友评论