EAIntroView 2.13.0

EAIntroView 2.13.0

测试已被测试
语言语言 Obj-CObjective C
许可证 MIT
发布上次发布2020 年 11 月

Evgeny Aleksandrov 维护。




EAIntroView - 简单的 iOS 介绍

CI Status Version Carthage compatible License Platform

ExampleImage1 ExampleImage2

这是高度可定制、即插即用的介绍视图解决方案。一些功能(记住,大多数功能都是可选的,可以关闭)

  • 精美的演示项目,可以看看一些示例
    • 可定制性无限制,可以制作包含动画和交互页面的复杂 introView,所以不要限于现有示例
  • 对于每个基本页面
    • 背景(页面之间有交叉溶解过渡效果)
    • 自定义 iOS7 动画效果(视差)在背景上
    • 标题视图(+ Y 位置)
    • 标题文本(+ 字体、颜色和 Y 位置)
    • 描述文本(+ 字体、颜色、宽度和 Y 位置)
    • 子视图数组(构建默认布局后在页面后添加)
  • 可以设置自定义视图用于页面
    • pageWithCustomView
    • pageWithCustomViewFromNibNamed
  • 可以为页面事件设置 block 动作
    • pageDidLoad
    • pageDidAppear
    • pageDidDisappear
  • 有许多选项可以自定义父视图
    • 从最后一页滑动关闭
    • 简单点击切换页面
    • 自定义背景图像或颜色
    • 自定义页面控件
    • 自定义跳过按钮
    • 固定的标题视图(+ Y 位置,可以在某些页面上隐藏)
  • 委托协议来监听
    • introDidFinish
    • intro:pageAppeared:withIndex
  • 在 IntroView 上的操作
    • setPages
    • showInView:animateDuration
    • hideWithFadeOutDuration
    • setCurrentPageIndex:animated
  • 支持 storyboard/IB
  • 还有很多...

安装

您可以使用 CarthageCocoaPods完全手动 来设置 EAIntroView

Carthage

  1. EAIntroView 添加到项目的 Cartfile

    github "ealeksandrov/EAIntroView"
  2. 在项目目录中运行 carthage update

  3. 在你的应用程序目标的“通用”设置选项卡中,“链接框架和库”部分,从磁盘上的 Carthage/Build/iOS/ 文件夹中拖放 EAIntroView.frameworkEARestrictedScrollView.framework

  4. 在你的应用程序目标的“构建阶段”设置选项卡中,点击“+”图标,选择“新运行脚本阶段”。创建一个运行脚本,内容如下

    /usr/local/bin/carthage copy-frameworks

    将框架的路径添加到“输入文件”

    $(SRCROOT)/Carthage/Build/iOS/EAIntroView.framework
    $(SRCROOT)/Carthage/Build/iOS/EARestrictedScrollView.framework

    并将复制的框架路径添加到“输出文件”

    $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/EAIntroView.framework
    $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/EARestrictedScrollView.framework

CocoaPods

  1. 将 EAIntroView 添加到项目的 Podfile

    pod 'EAIntroView'
  2. 在项目目录中运行 pod updatepod install

手动设置

  1. EARestrictedScrollView 头文件和实现文件添加到项目中(总共 2 个文件)。

  2. EAIntroPageEAIntroView 头文件和实现文件添加到项目中(总共 4 个文件)。

  3. 现在你可以通过添加以下导入来使用 EAIntroView

    import EAIntroView
    #import <EAIntroView/EAIntroView.h>

如何使用

示例项目有很多自定义示例。这里只提供了一些简单的示例。

第一步 - 构建页面

使用[EAIntroPage page]类方法创建每个页面。然后您可以自定义任何属性,它们都是可选的。另一种方法是传递您自己的自定义视图(可以是nib)到EAIntroPage中,这样大多数其他选项都将被忽略。

// basic
EAIntroPage *page1 = [EAIntroPage page];
page1.title = @"Hello world";
page1.desc = sampleDescription1;
// custom
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;
// custom view from nib
EAIntroPage *page3 = [EAIntroPage pageWithCustomViewFromNibNamed:@"IntroPage"];
page3.bgImage = [UIImage imageNamed:@"bg2"];

第2步 - 创建介绍视图

一旦所有页面都创建好了,您就可以创建介绍视图了。只需按顺序将它们传递到介绍视图中。您也可以在初始化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

从1.3.0版本开始,EAIntroView支持从Interface Builder初始化。从2.0.0版本开始,EAIntroPage也支持它。

  1. UIView拖放到您的IB文档中。
  2. 将其类设置为EAIntroView
  3. 在视图控制器中创建IBOutlet属性:@property(nonatomic,weak) IBOutlet EAIntroView *introView;
  4. 在IB中将IBOutletEAIntroView连接。
  5. 构建页面数组(您可以在其中使用pageWithCustomViewFromNibNamed:,为每个页面使用不同的nib)。
  6. 将页面数组传递给setPages:中的EAIntroView属性。

作者

由Evgeny Aleksandrov(@ealeksandrov)创建和维护。

许可证

EAIntroView 基于 MIT 许可证提供。更多信息请参阅 LICENSE.md 文件。