专栏首页iOS122-移动混合开发研究院EAIntroView–高度可定制的iOS应用欢迎页通用解决方案

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 属性.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 到底有多强?苹果的增强现实框架:ARKit

    本篇文章重在 workShop 上苹果工程师的解惑和我对 ARKit 的理解, 最后会简单介绍一下相关技术。

    郭艺帆
  • iOS 中的 Promise 设计模式

    无论是代理模式,还是闭包,在处理单一任务的时候,都出色的完成了任务。可是当两种模式要相互配合,一起完成一系列任务,并且每个任务之间还要共享信息,相互衔接,雇主就...

    serena
  • 让 iPhone “崩溃” 又有了新方法:只需要一个视频

    玄武实验室在 10 月 15 日就发现了视频样本,在深入分析后,我们在微信后台对能够触发这种漏洞的恶意视频进行检测和拦截,保护了大量用户免遭攻击。

    腾讯玄武实验室
  • iPhone 摄影中的深度捕捉 ( WWDC2017-Session 507 ) 下篇

    在 iOS 11中, 了解如何利用深度信息为创意成像开辟新的可能性。 获得对高层次深度概念的更广泛的了解,并学习如何从相机中捕获流式传输和静态图像深度数据。

    张耀琦
  • 打造黑苹果(四)安装MACOS系统

    打造黑苹果(四)安装MACOS系统前情回顾打造黑苹果(一)组装硬件的选择与组装打造黑苹果(二)制作黑mac系统安装U盘打造黑苹果(三)COMS(BIOS)设置前...

    FungLeo
  • 微信小程序的编程模式

    在进行「轻芒小程序+」和其他小程序应用开发的过程中,本文作者与其团队对当前正火热的小程序开发有了更为深度的理解与认识,进而有了本文。文章从从编程模式入手,看在小...

    云加社区专栏
  • 打造黑苹果(五)设置 MACOS 系统盘引导,以及安装驱动

    经过前面的一系列工作,我们已经把系统安装在我们的硬盘上了,但是我们启动的时候还必须通过U盘启动,那是因为我们还没有给我们的系统设置引导,另外看上去貌似不正常,甚...

    FungLeo
  • iPhone X 适配手Q H5 页面通用解决方案

    对于手Q 中的各业务来说,受 Phone X 影响的 H5 页面挺多,应该采取什么快速有效的办法来应对呢?

    林焕彬
  • 腾讯 TMQ 团队10 年巨献: iOS 测试实践

    开始敲这篇“软”文,我觉得颈肩都好硬,转转头抖抖肩,许多事情如开闸水般涌入脑海,整个人顿时放松了下来。也烦请读者朋友耐心读下来,看一看这千千万万测试人的一些共鸣...

    腾讯移动品质中心TMQ
  • 关于 iOS 证书,你必须了解的知识

    从事iOS开发几年,越来越发现,对iOS应用开发到发布过程中必不可少的一环,证书签名相关部分,却只是一知半解。本文从iOS证书体系的基本构成模块 入手,一步步解...

    陈泽滨

扫码关注云+社区

领取腾讯云代金券