• 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 属性.
  • 相关阅读:
    前端大全
    事件获取目标 currentTarget target srcElement 三者之间的区别和联系
    wx:key
    [微信小程序] -- wxss引用外部css文件及iconfont
    v-show, v-if, 以及动态组件的区别
    self_vue@1.0.0 dev: `webpack-dev-server --inline --progress --config build/webpack.dev.conf.js`
    git命令行使用
    CentOS6与7区别整理
    git
    python--批量修改文件夹名
  • 原文地址:https://www.cnblogs.com/ios122/p/4776552.html
Copyright © 2020-2023  润新知