高度可定制的应用欢迎页通用解决方案,可高度定制,不要仅限于现有的demo.ios
项目主页: EAIntroViewgit
最新示例: 点击下载github
安装后,引入” EAIntroView.h”并设置EAIntroDelegate代理便可.编程
pod 'EAIntroView', '~> 2.7.0'
添加EAIntroPage ,EAIntroView和EARestrictedScrollView 的.h和.m文件到你的工程便可.数组
EAIntroView 可高度定制,不要仅限于现有的demo.
EAIntroView 是有一个展现用的IntroView和一组展现页面来组成一系列引导展现页.
基本使用方式是: 建立一组EAIntropage(可自定义,具体使用见下文),使用这组EAIntropage 建立一个EAIntroView的视图IntroView,将这个IntroView showInView到想要展现的视图上(见下文)app
* background(有交叉的页之间的过渡)
* 在background上定制iOS7运动的效果(视差)
* title视图(y 坐标)
* title 文本(字体,颜色,y坐标)
* description 文本(字体,颜色 ,宽度,y坐标)
* 子视图数组(在创建默认的布局后添加到界面上)ide
pageWithCustomView://自定义视图布局
pageWithCustomViewFromNibNamed://自定义nib字体
pageDidLoad 页面加载动画
pageDidAppear 页面显示
pageDidDisappear 页面消失
swipe from last page to close //滑到最后一个关闭
switching pages with one simple tap//轻拍切换
custom background image or color//设置背景图片,颜色
custom page control//定义page control
custom skip button //自定义跳过按钮
pinned titleView //自定义 标题视图
introDidFinish: //完成引导
intro:pageAppeared:withIndex: //引导页切换
* setPages://设置界面
* showInView:animateDuration://设置展现动画
* hideWithFadeOutDuration://显示和消失时间
* setCurrentPageIndex:animated://设置当前显示的界面以及动画
每个界面须要经过[EAIntroPage page]来建立,你能够自定义属性,全部的属性都是可选的.或者你能够经过你自定义的view(能够是nib),使用这种方式大多数选项就被忽略了.例如:
// 基本的建立方式 EAIntroPage *page1 = [EAIntroPage page]; page1.title = @"Hello world"; page1.desc = sampleDescription1; // 自定义的,这些属性都是可选的 EAIntroPage *page2 = [EAIntroPage page]; page2.title = @"This is page 2"; page2.titleFont = [UIFont fontWithName:@"Georgia-BoldItalic" size:20]; page2.titlePositionY = 220; page2.desc = sampleDescription2; page2.descFont = [UIFont fontWithName:@"Georgia-Italic" size:18]; page2.descPositionY = 200; page2.titleIconView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"title2"]]; page2.titleIconPositionY = 100; //nib的自定义视图 EAIntroPage *page3 = [EAIntroPage pageWithCustomViewFromNibNamed:@"IntroPage"]; page3.bgImage = [UIImage imageNamed:@"bg2"];
全部的页面建立完成后,建立介绍视图,只是在介绍视图中按顺序展现.也能够经过传递给IntroView一组视图初始化, IntroView将重建视图的内容.
EAIntroView *intro = [[EAIntroView alloc] initWithFrame:self.view.bounds andPages:@[page1,page2,page3,page4]]; //设置代理 [intro setDelegate:self];
[intro showInView:self.view animateDuration:0.0];
从EAIntroView 1.3.0 开始支持Storyboard/IB
拖拽UIView 到IB文档
设置它的class为EAIntroView
建立viewcontroller 的IBOutlet 属性,@property(nonatomic,weak) IBOutlet EAIntroView *introView;
在IB中连接IBOutlet
和 EAIntroView
建立界面数组(能够使用”pageWithCustomViewFromNibNamed”),一个的nib对应每一个界面.在setPages方法中将数组传递给EAIntroView 属性.