快速创建扁平化设计的教程页面。它可以读取 JSON 文件中的页面数据,页面无需编码!可完全自定义。
将 YSTutorialViewController
文件夹复制到您的项目中
创建一个 YSTutorialViewController
。
self.tutorialViewController = [[YSTutorialViewController alloc] init];
[self.tutorialViewController setDataSource:self];
[self.tutorialViewController setDelegate:self];
[self.tutorialViewController reloadTutorialViewController];
[self.view addSubview:self.tutorialViewController.view];
用您的页面数组填充数据源
- (NSInteger)numberOfPagesInTutorialViewController:(YSTutorialViewController *)viewController {
return self.tutorialPages.count;
}
- (YSTutorialPageView *)tutorialViewController:(YSTutorialViewController *)viewController tutorialPageViewForIndex:(NSInteger)index {
return (YSTutorialPageView *)self.tutorialPages[index];
}
可选的代理方法以控制操作
@protocol YSTutorialViewControllerDelegate
@optional
- (UIImage *)tutorialViewControllerBackgroundImageForIndex:(NSInteger)index;
- (void)tutorialViewControllerDidPressedCloseButton: (YSTutorialViewController *)viewController;
- (void)tutorialViewController:(YSTutorialViewController *)viewController didScrollToPageAtIndex:(NSInteger)index;
@end
如果您想使用 JSON 文件创建页面,可以使用+ (NSArray *)tutorialPageViewsWithJSONFile:(NSString *)path
方法将YSTutorialPageView
数组序列化
self.tutorialPages = [YSTutorialPageSerializer tutorialPageViewsWithJSONFile:@"tutorialPages"];
YSTutorialPageView
YSTutorialPageView *page = [[YSTutorialPageView alloc] initWithImageNamed:@"tutImage.png"
bottomViewColor:[UIColor redColor]
iconNamed:@"tutIcon.png"
title:@"Title goes here"
text:@"This is the text that describes your app's awesome feature"];
您可以使用外观并使用它初始化 YSTutorialViewController。YSTutorialViewControllerAppearance 看起来像这样
@property (nonatomic, strong) UIColor *titleLabelColor;
@property (nonatomic, strong) UIFont *titleLabelFont;
@property (nonatomic, strong) UIColor *descriptionLabelColor;
@property (nonatomic, strong) UIFont *descriptionLabelFont;
@property (nonatomic, assign) CGFloat tutorialPageBottomViewHeight;
@property (nonatomic, strong) UIColor *pageControlTintColor;
@property (nonatomic, assign) CGFloat backgroundImageViewOverlayAlpha;
@property (nonatomic, strong) UIColor *backgroundImageViewOverlayColor;
@property (nonatomic, strong) UIColor *closeButtonColor;
@property (nonatomic, assign) CGFloat closeButtonLineWidth;
- (instancetype)initWithAppearance:(YSTutorialViewControllerAppearance *)appearance;