App 启动引导页 新特性介绍,App launch guide page Introduction to new features
网上的轮子搜了搜不好用,灵活度不高,特来写一个支持任意自定义的。我一直认为无论怎么参考市面上APP的效果,也不可能模仿的完。所以写一些工具类的时候最重要的原则就是能灵活自定义,将具体的实现交给开发者,让他们想怎么做都行。像我的另外两个库(RollingNotice,CustomPopoverView),也是这一原则,以后我做小组件也会尽量以这个原则作为第一标准,这样才算是一个“体贴”的库
- 1.0.1 修复#1,修复iPhone X,只有前景图时,滑动残影的bug
素材和视频背景播放的方式来自ZWIntroductionViewController,感谢作者。
- 手动下载,将
GYIntroductionView
拖进项目 - Cocoapods:
pod 'GYIntroductionView'
NSArray *coverImageNames = @[@"img_index_01txt", @"img_index_02txt", @"img_index_03txt"];
NSArray *backgroundImageNames = @[@"img_index_01bg", @"img_index_02bg", @"img_index_03bg"];
GYIntroductionView *introductionView = [[GYIntroductionView alloc] initWithImgNames:coverImageNames bgImgNames:backgroundImageNames];
[self.window addSubview:introductionView];
_introductionView = introductionView;
// enterButton and it's action
// 进入按钮和进入按钮的回调
UIButton *enterBtn = [UIButton buttonWithType:UIButtonTypeCustom];
enterBtn.bounds = CGRectMake(0, 0, 200, 60);
enterBtn.center = CGPointMake(self.window.center.x, CGRectGetMaxY(self.window.frame) - 160);
enterBtn.backgroundColor = [UIColor redColor];
[enterBtn setTitle:@"立即进入" forState:UIControlStateNormal];
introductionView.enterButton = enterBtn;
[introductionView setEnterBlock:^{
NSLog(@"block 点击进入");
}];
introductionView.delegate = self;
_imgNames = @[@"img_index_01bg", @"img_index_02bg", @"img_index_03bg"];
GYIntroductionView *introductionView = [[GYIntroductionView alloc] initWithImgCount:_imgNames.count andDataSource:self];
introductionView.pageControl.frame = CGRectMake(0, 0, 100, 50);
// ⚠️⚠️DO NOT forget to register your cell with intrrolCollectionView⚠️⚠️
[introductionView.introlCollectionView registerNib:[UINib nibWithNibName:@"CustomIntroductionCell" bundle:nil] forCellWithReuseIdentifier:@"CustomIntroductionCell"];
[self.window addSubview:introductionView];
_introductionView = introductionView;