一键合成APP引导页,包含不同状态下的引导页操作方式,同时支持动态图片引导页和静态图片引导页;
有导航栏手动进入体验 | 有导航栏自动进入体验 | 无导航栏手动进入体验 | 无导航栏自动进入体验 |
---|---|---|---|
有导航栏手动进入体验 | 有导航栏自动进入体验 | 无导航栏手动进入体验 | 无导航栏自动进入体验 |
/**
* DHGuidePageHUD(视频引导页)
*
* @param frame 位置大小
* @param videoURL 引导页视频地址
*
* @return DHGuidePageHUD对象
*/
- (instancetype)dh_initWithFrame:(CGRect)frame videoURL:(NSURL *)videoURL;
// 初始化视频URL
NSURL *videoURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"guideMovie1" ofType:@"mov"]];
// 创建并添加引导页
DHGuidePageHUD *guidePage = [[DHGuidePageHUD alloc] dh_initWithFrame:self.view.bounds videoURL:videoURL];
[self.navigationController.view addSubview:guidePage];
// 设置再次滑动进入APP (注意只有在buttonIsHidden:为YES的时候才有效, 因为为NO是用户可以直接点击按钮进入APP, 增强用户体验)
guidePage.slideInto = YES;
/**
* DHGuidePageHUD
*
* @param frame 位置大小
* @param imageArray 引导页图片数组(NSString)
* @param isHidden 开始体验按钮是否隐藏(YES:隐藏-引导页完成自动进入APP首页; NO:不隐藏-引导页完成点击开始体验按钮进入APP主页)
*
* @return DHGuidePageHUD对象
*/
- (instancetype)dh_initWithFrame:(CGRect)frame imageNameArray:(NSArray<NSString *> *)imageNameArray buttonIsHidden:(BOOL)isHidden;
// 静态引导图片数组初始化
NSArray *imageNameArray = @[@"guideImage1.jpg",@"guideImage2.jpg",@"guideImage3.jpg",@"guideImage4.jpg",@"guideImage5.jpg"];
// 动态引导图片数组初始化
NSArray *imageNameArray = @[@"guideImage6.gif",@"guideImage7.gif",@"guideImage8.gif"];
// 创建并添加引导页
DHGuidePageHUD *guidePage = [[DHGuidePageHUD alloc] dh_initWithFrame:self.view.frame imageNameArray:imageNameArray buttonIsHidden:YES];
[self.navigationController.view addSubview:guidePage];
// 在window初始化并显示后([self.window makeKeyAndVisible]后)初始化图片数组并添加引导页;
// 静态引导图片数组初始化
NSArray *imageNameArray = @[@"guideImage1.jpg",@"guideImage2.jpg",@"guideImage3.jpg",@"guideImage4.jpg",@"guideImage5.jpg"];
// 动态引导图片数组初始化
NSArray *imageNameArray = @[@"guideImage6.gif",@"guideImage7.gif",@"guideImage8.gif"];
// 创建并添加引导页
DHGuidePageHUD *guidePage = [[DHGuidePageHUD alloc] dh_initWithFrame:self.window.frame imageNameArray:imageNameArray buttonIsHidden:YES];
[self.window addSubview:guidePage];
/**
* DHGuidePageHUD
*
* @param frame 位置大小
* @param imageArray 引导页图片数组
* @param isHidden 开始体验按钮是否隐藏(YES:隐藏-引导页完成自动进入APP首页; NO:不隐藏-引导页完成点击开始体验按钮进入APP主页)
*
* @return DHGuidePageHUD
*/
- (instancetype)dh_initWithFrame:(CGRect)frame imageArray:(NSArray *)imageArray buttonIsHidden:(BOOL)isHidden;
// 初始化图片数组
NSArray *imageArray = @[[UIImage imageNamed:@"guideImage1.jpg"],[UIImage imageNamed:@"guideImage2.jpg"],[UIImage imageNamed:@"guideImage3.jpg"],[UIImage imageNamed:@"guideImage4.jpg"],[UIImage imageNamed:@"guideImage5.jpg"]];
// 创建并添加引导页
DHGuidePageHUD *guidePage = [[DHGuidePageHUD alloc] dh_initWithFrame:self.view.frame imageArray:imageArray buttonIsHidden:YES];
[self.navigationController.view addSubview:guidePage];
// 在window初始化并显示后([self.window makeKeyAndVisible]后)初始化图片数组并添加引导页;
NSArray *imageArray = @[[UIImage imageNamed:@"guideImage1.jpg"],[UIImage imageNamed:@"guideImage2.jpg"],[UIImage imageNamed:@"guideImage3.jpg"],[UIImage imageNamed:@"guideImage4.jpg"],[UIImage imageNamed:@"guideImage5.jpg"]];
DHGuidePageHUD *guidePage = [[DHGuidePageHUD alloc] dh_initWithFrame:self.window.frame imageArray:imageArray buttonIsHidden:YES];
[self.window addSubview:guidePage];
// 使用NSUserDefaults判断程序是否第一次启动(其他方法也可以)
if (![[NSUserDefaults standardUserDefaults] boolForKey:BOOLFORKEY]) {
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:BOOLFORKEY];
// 在这里写初始化图片数组和DHGuidePageHUD库引导页的代码
}