EAIntroView–高度にカスタマイズ可能なiOSアプリケーションのウェルカムページ汎用ソリューション

6226 ワード

転入先http://segmentfault.com/a/1190000003695526
はじめに
インストール
インストール後、「EAIntroView.h」EAIntroDelegateエージェントを設定すればよい.
1、CocoaPodsを使用して取り付ける
pod 'EAIntroView', '~> 2.7.0'

2、手動インストール
EAIntroPage、EAIntroView、EARestrictedScrollViewを追加します.h和.mファイルはあなたの工事に行けばいいです.
カスタマイズ可能
EAIntroViewは高度にカスタマイズでき、既存のdemoに限らない.EAIntroViewは展示用のIntroViewと一連の案内展示ページを構成する展示ページである.基本的な使用方法は、EAIntropageのセットを作成し(以下を参照)、EAIntropageのセットを使用してEAIntropewのビューIntroViewを作成し、このIntroViewshowInViewを表示したいビューに作成します(以下を参照).
各表示用の基本ページには
  
  • background(クロスページ間の遷移あり)
  • background上でiOS 7の動きをカスタマイズする効果(視差)
  • titleビュー(y座標)
  • titleテキスト(フォント、色、y座標)
  • descriptionテキスト(フォント、色、幅、y座標)
  • サブビュー配列(デフォルトのレイアウトを作成してインタフェースに追加)
  • ページのカスタムビューを設定するには、次の手順に従います.
  • pageWithCustomView://カスタムビュー
  • pageWithCustomView FromNibName://カスタム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 //現在表示されているインタフェースおよびアニメーションの設定
    次の操作を行います.
    ステップ1:インタフェースの作成
    各インタフェースは[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"];

    ステップ2:紹介ビューの作成
    すべてのページの作成が完了すると、紹介ビューが作成され、紹介ビューに順番に表示されるだけです.IntroViewに渡すビューのセットを初期化することで、IntroViewはビューの内容を再構築することもできる.
     EAIntroView *intro = [[EAIntroView alloc] initWithFrame:self.view.bounds andPages:@[page1,page2,page3,page4]];
    
    //    
    [intro setDelegate:self];

    ステップ3:ブートマップの表示
    [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
  • は、1つのnibが各インタフェースに対応するインタフェース配列を作成する(p a g e WithCustomViewFromNibNameを使用することができる).配列をsetPagesメソッドでEAIntroView属性に渡す.