EAIntroView–高度可定製的iOS應用歡迎頁通用解決方案

簡介

高度可定製的應用歡迎頁通用解決方案,可高度定製,不要僅限於現有的demo.

入門

安裝

安裝後,引入” 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 屬性.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章