[翻译] EAIntroView

EAIntroView

https://github.com/ealeksandrov/EAIntroView

 

This is highly customizable drop-in solution for introduction views. Some features (remember, most features are optional and can be turned off):

这是一个高度可定制的导航页解决方案,这是一些特性(记住,大部分特性都是可选的,以及可以关闭的):

  • beautiful demo project to look on some examples 一个漂亮的demo演示了好多例子

    • customizability is unlimited, one can make complex introView with animations and interactive pages, so do not limit yourself with existing examples
    • 定制是完全没有限制的.发挥你的想象力,不要局限于提供的几个例子
  • for each basic page: 对于每一个基本的页面
    • background (with cross-dissolve transition between pages) 背景
    • custom iOS7 motion effects (parallax) on background iOS7的视差效果
    • title view (+ Y position) 标题view
    • title text (+ font, color and Y position) 标题文本
    • description text (+ font, color, width and Y position) 描述文本
    • subviews array (added to page after building default layout) 子类view构成的数组
  • possibility to set your own custom view for page: 你也可以设计自定义view
    • pageWithCustomView: 
    • pageWithCustomViewFromNibNamed:
  • possibility to set block action on page events: 你也可以设定每页的事件触发
    • pageDidLoad
    • pageDidAppear
    • pageDidDisappear
  • many options to customize parent view: 你还可以设定父视图
    • swipe from last page to close
    • switching pages with one simple tap
    • custom background image or color
    • custom page control
    • custom skip button
    • pinned titleView (+ Y position, can be hidden on some pages)
  • delegate protocol to listen: 监听代理
    • introDidFinish:
    • intro:pageAppeared:withIndex:
  • actions on IntroView: IntroView上面的行为设定
    • setPages:
    • showInView:animateDuration:
    • hideWithFadeOutDuration:
    • setCurrentPageIndex:animated:
  • storyboard/IB support

 

CocoaPods

CocoaPods is the recommended way to use EAIntroView in your project. 你可以用 CocoaPods 来安装

  • Simply add this line to your Podfilepod 'EAIntroView', '~> 2.7.0' 将pod 'EAIntroView', '~> 2.7.0'添加到你的Podfile中
  • Run pod install. 运行 pod install
  • Include with #import "EAIntroView.h" to use it wherever you need. 导入头文件#import "EAIntroView.h"
  • Subscribe to the EAIntroDelegate to enable delegate/callback interaction. 实现代理方法即可

 

Manual installation

  • Add EAIntroPage and EAIntroView headers and implementations to your project (4 files total). 将 EAIntroPage.h/m 与 EAIntroView.h/m 添加到你的项目当中.
  • Add EARestrictedScrollView header and implementation to your project (2 files total). 将  EARestrictedScrollView  添加到你的项目当中.
  • Include with #import "EAIntroView.h" to use it wherever you need. 导入头文件#import "EAIntroView.h"
  • Subscribe to the EAIntroDelegate to enable delegate/callback interaction. 实现代理方法即可

 

How To Use It

Sample project have many examples of customization. Here are only simple ones.

项目中已经包含了好多例子,这里简单的列举一例:

 

Step 1 - Build Pages

Each page created with [EAIntroPage page] class method. Then you can customize any property, all of them are optional. Another approach is to pass your own (can be nib), custom view in EAIntroPage, this way most other options are ignored.

每一页都是由方法 [EAIntroPage page] 生成.然后,你可以自定义这些属性.当然,你也可以用你自己的方式创建出自定义的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"];

 

Step 2 - Create Introduction View

Once all pages have been created, you are ready to create the introduction view. Just pass them in right order in the introduction view. You can also pass array of pages after IntroView's initialization, it will rebuild its contents.

一旦所有页码都创建出来了,你就可以创建出介绍页了.你只要按照顺序传入参数即可.

EAIntroView *intro = [[EAIntroView alloc] initWithFrame:self.view.bounds andPages:@[page1,page2,page3,page4]];

Don't forget to set the delegate if you want to use any callbacks.

不要忘记设置代理.

[intro setDelegate:self];

 

Step 3 - Show Introduction View

[intro showInView:self.view animateDuration:0.0];

 

Storyboard/IB

Since 1.3.0 EAIntroView supports init from IB. Since 2.0.0 EAIntroPage supports it too.

1.3.0版本的EAIntroView支持从IB创建.2.0.0版本的EAIntroPage也支持从IB创建.

  1. Drop UIView to your IB document. 设置一个IB的UIView
  2. Set its class to EAIntroView. 将其类别设置成EAIntroView
  3. Create IBOutlet property in your view controller: @property(nonatomic,weak) IBOutlet EAIntroView *introView;. 从你的控制器创建出属性@property(nonatomic,weak) IBOutlet EAIntroView *introView;
  4. Connect IBOutlet with EAIntroView in IB. 通过IB连接EAIntroView
  5. Build array of pages (you can use pageWithCustomViewFromNibNamed: here with separate nibs for each page). 然后,你就可以创建每一页了
  6. Pass pages array to EAIntroView property in setPages:. 将page数组的值赋给EAIntroView的setPages属性

 

Author

Created and maintained by Evgeny Aleksandrov (@EAleksandrov).

 

License

EAIntroView is available under the MIT license. See the LICENSE file for more info.

 

时间: 2024-11-02 00:02:45

[翻译] EAIntroView的相关文章

[翻译]JDK 8 兼容性指南

翻译官方文档,删除部分可忽略. 译者:坤谷,井桐,激酶 兼容性是一个复杂的问题. 本文介绍了Java平台潜在的三种不兼容问题: 源码: 源码兼容性问题关注Java源代码转换成class文件是否兼容,包括代码是否仍然可编译. 二进制: 在Java语言规范中,二进制兼容性定义为:"类的改变是二进制兼容的(或者不破坏二进制兼容性),是指如果改变前的类的二进制在链接时没有错误,那么改变后的类在链接时仍然没有错误." 行为 : 行为兼容性包括在运行时执行的代码的语义. 欲了解更多信息,请参阅Op

java.security.Guard翻译

  Overview Package  Class Use Tree Deprecated Index Help JavaTM 2 PlatformStd. Ed. v1.4.2  PREV CLASS   NEXT CLASSFRAMES    NO FRAMES     All Classes SUMMARY: NESTED | FIELD | CONSTR | METHODDETAIL: FIELD | CONSTR | METHOD java.security Interface Gua

翻译CFSSL相关操作文档

我发现国内这个CFSSL资料蛮少的. 但如果深入到K8S认证之后,这块知识又必不可少. (OPENSSL也可实现,但好像不是主流) 于是花了两天快速翻译了一下几个文档. 贡献给有需要的同仁. 如有错误(肯定有!),欢迎提正. 百度网盘共享地址: https://pan.baidu.com/s/1skAQtAH

如何这段C#代码翻译成VB代码?谢谢!

问题描述 如何这段C#代码翻译成VB代码?谢谢! private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { //自动点击弹出确认或弹出提示 IHTMLDocument2 vDocument = (IHTMLDocument2)webBrowser1.Document.DomDocument; vDocument.parentWindow.execScrip

php-java和PHP有纯中文的官方手册吗?还是只有部分的翻译?

问题描述 java和PHP有纯中文的官方手册吗?还是只有部分的翻译? java和PHP有纯中文的官方手册吗?还是只有部分的翻译?我英文不好,能不能学呢? 解决方案 http://cn2.php.net/manual/zh/index.php 解决方案二: java的JDK有中文版的API,PHP网上也有中文手册.现在网络资源这么丰富,只有肯上心,学东西还是很容易的. 选定一个完整的视频教程,跟着练习,上手是很容易的. 我就是2010年暑假跟着传智播客视频教程自学的Java,现在已经很熟练了.祝好

傲游浏览器怎么翻译网页

  步骤一:没有傲游浏览器的童鞋 步骤二:点开下拉====勾选"翻译". 步骤三:输入你想要的翻译的网址,选定你想翻译的内容 步骤四:耐心等待翻译结果

Word 2010中的“翻译字典”

  1.打开一篇文字文档,并且里面与你有需要翻译的文字,例如,我们这里先选择一篇中文散文; 2.在功能区点击"审阅"选项卡,选择"语言"区域的"翻译"选项组,单击"翻译所选文字"; 3.单击"审阅"功能卡,点击"语言"区域的"翻译"选项组,在弹出的下拉菜单中选择"选择转换语言"; 4.此时窗口会弹出一个"翻译语言选项"的对话框,

Word每一页的左边显示英语右边显示中文翻译

  现在,您想实现的效果是,在每一页里面,左边是英文,右边是对应的翻译好的中文.像这样的排版方式,可以方便我们更好的学习英语. ①使用分栏的是不科学的 要解决这个问题,很多人第一时间就会想到分栏,想把英文放在栏的左边,中文放在栏的右边.然而,这是可行的,却是不科学的. 因为,使用Word里面的自动分栏,原文英文和翻译后的中文,很难一一对应,造成学习上的困难.另外,如果您想再排版实现一一对应,那么,难度是非常大. ②使用文本框也是不合理的 以上方法难以实现.很多人会想到使用文本框的办法. 即在Wo

360浏览器如何翻译英文网页

  整个网页翻译: 1.打开360浏览器,在浏览器中打开你想浏览的英文网站,选择浏览器上面的翻译三角符号. 2.选择第一项,翻译当前网页,就会开始翻译了. 3.翻译完后,就可以看到全部是中文了. 单个句子翻译: 1.同样选择浏览器上面的翻译,选择第二项翻译文字. 2.在弹出的翻译对话框中,将要翻译的英文复制到文本框中,点击下面的翻译. 3.翻译完后,翻译的结果就在下面了,很方便的.