簡介
高度可定製的應用歡迎頁通用解決方案,可高度定製,不要僅限於現有的demo.
- 項目主頁: EAIntroView
- 最新示例: 點擊下載
入門
安裝
安裝後,引入” EAIntroView.h”並設置EAIntroDelegate代理即可.
使用CocoaPods安裝
pod 'EAIntroView', '~> 2.7.0'
手動安裝
添加EAIntroPage ,EAIntroView和EARestrictedScrollView 的.h和.m文件到你的工程即可.
可定製性
EAIntroView 可高度定製,不要僅限於現有的demo.
EAIntroView 是有一個展示用的IntroView和一組展示頁面來組成一系列引導展示頁.
基本使用方式是: 創建一組EAIntropage(可自定義,具體使用見下文),使用這組EAIntropage 創建一個EAIntroView的視圖IntroView,將這個IntroView showInView到想要展示的視圖上(見下文)
每一個用來展示的基本頁面都具有
* background(有交叉的頁之間的過渡)
* 在background上定製iOS7運動的效果(視差)
* title視圖(y 座標)
* title 文本(字體,顏色,y座標)
* description 文本(字體,顏色 ,寬度,y座標)
* 子視圖數組(在建立默認的佈局後添加到界面上)
設置頁面自定義視圖:
- 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: //引導頁切換
IntroView支持的方法:
* 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];
Storyboard/IB可視化編程支持
從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 屬性.