EAIntroView–高度可定製的iOS應用歡迎頁面通用解決方案,eaintroviewios
簡介
高度可定製的應用歡迎頁面通用解決方案,可高度定製,不要僅限於現有的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 屬性.