Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >优美整洁的引导页大神框架Onboard

优美整洁的引导页大神框架Onboard

作者头像
Dwyane
发布于 2018-05-22 09:32:23
发布于 2018-05-22 09:32:23
2.1K0
举报
文章被收录于专栏:技术总结技术总结

<code>Onboard</code>是现在github最火的引导页框架,star已经近5k,我觉得这框架挺有意思。

导语

<code>Onboard:</code>一个只用几行代码就可轻松创建 它是一个美丽的和迷人的iOS框架。

![pic1]

pic2

使用

1、可以用CocoaPods 下载 <code>pod 'Onboard'</code> 2、可以直接下载pro,然后拖进项目使用

每个onboarding实例包含两个主要组件 - 背景页和内容页。背景包括静态背景图像/视频,页面控制和跳过按钮。内容页面由四个部分组成,一个图像/图标,标题,正文和操作按钮。

通过创建<code>OnboardingContentViewController</code>的实例创建单个页面,为操作按钮提供标题,正文,图像,文本,以及在用户按下按钮时您想要执行的操作。如果你不想要一个按钮,你可以让按钮文本<code>buttonText</code>和处理程序为<code>nil</code>。

Objective-C

<pre>OnboardingContentViewController *firstPage = [OnboardingContentViewController contentWithTitle:@"Page Title" body:@"Page body goes here." image:[UIImage imageNamed:@"icon"] buttonText:@"Text For Button" action:^{ // do something here when users press the button, like ask for location services permissions, register for push notifications, connect to social media, or finish the onboarding process }];</pre>

Swift

<pre>let firstPage = OnboardingContentViewController(title: "Page Title", body: "Page body goes here.", image: UIImage(named: "icon"), buttonText: "Text For Button") { () -> Void in // do something here when users press the button, like ask for location services permissions, register for push notifications, connect to social media, or finish the onboarding process }</pre>

然后通过为项目中的本地视频文件提供背景图像或URL创建<code>OnboardingViewController</code>,以及已经创建的视图控制器数组(content view controllers)来创建。然后,您可以模态显示视图(present)

Objective-C

<pre>// Image OnboardingViewController *onboardingVC = [OnboardingViewController onboardWithBackgroundImage:[UIImage imageNamed:@"background"] contents:@[firstPage, secondPage, thirdPage]];

// Video NSBundle *bundle = [NSBundle mainBundle]; NSString *moviePath = [bundle pathForResource:@"yourVid" ofType:@"mp4"]; NSURL *movieURL = [NSURL fileURLWithPath:moviePath];

OnboardingViewController *onboardingVC = [OnboardingViewController onboardWithBackgroundVideoURL:movieURL contents:@[firstPage, secondPage, thirdPage]];</pre>

Swift

<pre>// Image let onboardingVC = OnboardingViewController(backgroundImage: UIImage(named: "background"), contents: [firstPage, secondPage, thirdPage])

// Video let bundle = NSBundle.mainBundle() let moviePath = bundle.pathForResource("yourVid", ofType: "mp4") let movieURL = NSURL(fileURLWithPath: moviePath!)

let onboardingVC = OnboardingViewController(backgroundVideoURL: movieUrl, contents: [firstPage, secondPage, thirdPage])</pre>

自定义

<code>iconImageView,titleLabel,bodyLabel</code>,和<code>actionButton</code>属性的字体,尺寸可自定义,而 pages引导页中各个组件之间的间距也是可以自定义

自定义

模糊(Blurring),掩蔽(Masking)和淡入淡出(Fading)

默认情况下,您用于背景的图像将在其上应用蒙版,使其变暗一点。这是添加一点点对比度,所以文本可以更容易看到。如果您的图片已经编辑或看起来很好,可以很容易地禁用此功能: <pre>onboardingVC.shouldMaskBackground = NO; // defaults to YES</pre> 也可以加模糊效果到图片上 <pre>onboardingVC.shouldBlurBackground = YES; // defaults to NO</pre> 在页面之间转换时,对图标,文本和按钮应用淡入淡出效果。当您滚动时,内容淡出,下一页的内容在向内滚动时淡入。 <pre>onboardingVC.shouldFadeTransitions = YES ; //默认为NO</pre> 注意:确保在设置这些属性之前不会导致onboard 视图控制器的视图被加载,因为这些值仅在viewDidLoad调用视图控制器时生效,因此在设置此值之前进行类似<code>onboardingVC.view.backgroundColor = [UIColor whiteColor];</code>的设置操作将导致设置这些不生效。

您可以通过几种不同的组合调整这些设置,以获得所需的效果:

dark.png

darkblur.png

lightblur.png

normal.png

自动导航

如果你想,当他们按<code>action button</code>就自动移动到下一个页面中,可在任何<code>OnboardingContentViewController</code>非引导页的最后一个视图控制器简单设置<code>movesToNextViewController</code>属性为<code>YES</code>。另外,你可以禁用通过设置swipe,swipingEnabled属性设置为NO。如果您愿意,这允许您更好地控制引导页过程。最后,如果你的设计适合没有页面控件,或者它只有一个页面,你可以设置<code>hidePageControl</code>属性为YES和页面控制点(page control dots)不出现。 <pre>contentVC.movesToNextViewController = YES ; onboardingVC.swipingEnabled = NO ; onboardingVC.hidePageControl = YES ;</pre>

Skipping

如果您想跳过(skip)引导页,就要使skipping button可以点击和点击后block产生效果 <pre>onboardingVC.allowSkipping = YES; onboardingVC.skipHandler = ^{ // Dismiss, fade out, etc... };</pre>

Blocks

在某些情况下,您可能希望在引导页面( content pages)即将出现时以及出现时执行某些操作。在这种情况下,您可以在任何内容页面上设置<code>viewWillAppearBlock</code>和<code>viewDidAppearBlock</code>属性来处理任何您想要的内容。 <pre>contentVC.viewWillAppearBlock = ^{ // do something when the view will appear here… } contentVC.viewDidAppearBlock = ^{ // do something when the view appears here… }</pre>

注意:暂时只支持竖屏

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.02.21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Onboard,迷人的引导页样式制作库
本文介绍了一个用于制作引导页的样式库Onboard,包括两种样式:1.图片+蒙板样式;2.底部视频样式。Onboard的使用方法也很简单,只需要导入库并创建一个OnboardingViewController实例,设置背景图片或视频、蒙板上的文字以及按钮,即可生成引导页。同时,还可以定制化OnboardingViewController,设置淡入淡出效果、模糊效果、蒙板文字颜色等。
ios122
2018/01/02
9220
Onboard,迷人的引导页样式制作库
【技巧和案例分享】引导页如何设计,才能把用户顺利“引进门”?
现在社会,同类产品竞争越演越烈。用户对产品的第一映像往往决定了一切。而用户的第一印象又起始于引导页。也就是说,引导页的好坏,很大程度上直接影响用户是否最终使用或购买产品。所以,如若设计师能够一开始就添加引人入胜的引导页设计,产品吸引和说服用户使用和购买的机率就会更大。
奔跑的小鹿
2020/03/16
7540
【技巧和案例分享】引导页如何设计,才能把用户顺利“引进门”?
APP 引导页、欢迎页运用
在实际生活中我们使用的每一款App都会有一个引导页和欢迎页面,这两个页面主要是增加用户体验,引导页是在你第一次安装该APP的时候显示的,而欢迎页你你每次进入应用的时候出现的。先了解功能,再来实现逻辑方法,首先引导页是几张不同的图片,下面会有一个表示原点,指明当前是第几页。
晨曦_LLW
2020/09/25
1.5K0
DWIntrosPage 简单定制引导页
下面摘取部分代码 DWIntrosPageContentViewController
Dwyane
2018/09/30
8180
DWIntrosPage 简单定制引导页
Android开发之引导页的简单实现
当欢迎页面加载完成的时候(一般为动画),即欢迎页面动画加载完成的时候,从本地存储中取出记录是否是第一次进入,然后进入引导页或者主页,如果是第一次就进入引导页,否则进入主页。
程序员飞飞
2020/05/27
2.4K0
Android项目实战(三):实现第一次进入软件的引导页
最近做的APP接近尾声了,就是些优化工作了, 我们都知道现在的APP都会有引导页,就是安装之后第一次打开才显示的引导页面(介绍这个软件的几张可以切换的图) 自己做了一下,结合之前学过的 慕课网_ViewPager切换动画(3.0版本以上有效果) 思路很简单,APP的主界面还是作为主Activity,只要新添加一个类来判断是不是第一次打开APP 设主activity 名字为:MainActivity.java   判断是不是第一次打开APP且实现引导页面的类 LoginActivity ,另外还需要一个类 这
听着music睡
2018/05/18
1.3K0
Android技巧一:启动屏+功能引导页
前言 很长一段时间没写博客了,再不写点东西真说不过去,把工作上的一些有价值的东西整理出来分享,在当下还有点时效性,不然迟早会烂在肚子里的。还记得之前小巫有个开源计划是想实现一个星期开发app,现在把它拾起来,计划没有实行起来跟我那懒惰的身躯有关,任何伟大的事情都需要强大的执行力才能实现,慢一点没关系,能创造点东西就是值得的事情。 本篇博客先介绍一个app最常见的特性,就是新功能属性介绍和启动屏,一般会怎么实现呢,这不就打算告诉大家了么。 先说逻辑 先判断是否第一次启动app,如果是,则进入功能使用导航(最简
巫山老妖
2018/07/20
1.5K0
羊皮书APP(Android版)开发系列(五)APP引导页实现
APP开发中,引导页展示通常是必不可少的,用来展示产品。github上有一个引导页的库,个人感觉不错,就拿来使用,地址:AppIntro 导入AppIntro库的方法(两种): 方法一: 到github上下载AppIntro,解压,将library文件夹拷贝到自己项目的根目录下,重命名为app____intro____library,在settings.gradle文件中添加:include ':app',':app_____intro____library',在build.gradle文件中添加:
热心的程序员
2018/08/30
5490
羊皮书APP(Android版)开发系列(五)APP引导页实现
EAIntroView–高度可定制的iOS应用欢迎页通用解决方案
本文介绍了一种高度可定制的iOS应用欢迎页通用解决方案,该方案可高度定制,不要仅限于现有的demo。该欢迎页方案具有以下特点:1.基于EAIntroView实现;2.支持自定义页面和视图;3.支持自定义动画效果;4.支持通过IB搭建和可视化编程。使用该方案可以快速创建应用欢迎页,提高开发效率。
ios122
2018/01/02
8310
EAIntroView–高度可定制的iOS应用欢迎页通用解决方案
翻转视图ViewFlipper快速打造引导页和轮播图
前面两期学习了 ViewAnimator及其子类ViewSwitcher的使用,以及ViewSwitcher的子类ImageSwitcher和TextSwitcher的使用,你都掌握了吗?本期我们一起来学习ViewAnimator另一个子类 ViewFlipper组件的使用。 一、ViewFlipper概述 ViewFlipper组件继承了 ViewAnimator,它可调用addView(View v)添加多个组件,一旦向 ViewFlipper中添加了多个组件之后,ViewFlipper
分享达人秀
2018/02/05
1.5K0
翻转视图ViewFlipper快速打造引导页和轮播图
ViewPager实现启动引导页面(个人认为很详细)
效果如图: 启动页面是一张图片+延时效果,这里就不给出布局文件了。 WelcomeActivity分析:在启动页面检测是否是第一次运行程序,如果是,则先跳转到引导界面的Activity——AndyVi
用户1737026
2018/06/01
9190
IOS开发之记录用户登陆状态
  上一篇博客中提到了用CoreData来进行数据的持久化,CoreData的配置和使用步骤还是挺复杂的。但熟悉CoreData的使用流程后,CoreData还是蛮好用的。今天要说的是如何记录我们用户的登陆状态。例如微信,QQ等,在用户登陆后,关闭应用在打开就直接登陆了。那么我们在App开发中如何记录用户的登陆状态呢?之前在用PHP或者Java写B/S结构的东西的时候,我们用Session来存储用户的登陆信息,Session是存在服务器上仅在一次回话中有效,如果要记录用户的登陆状态,那么会用到一个叫Cook
lizelu
2018/01/11
1.6K0
IOS开发之记录用户登陆状态
IOS开发之TabBarItem&NavigationBarItem
  想必大家都用过微信,微信间的页面切换是如何做成的呢?接下来我们用storyboard结合着代码来模拟一下微信的视图控制模式。   "工欲善其事,必先利其器",下面主要是对storyboard来进行我们项目框架的搭建的,必要时,用代码实现我们的页面效果。在IOS开发中常用的多视图间的切换大致有TabBarController, NavigationBarController, 和模态窗口。第一次接触模态的概念是在Web前端的内容中接触的。下面将会结合一个实际的效果来简单的介绍一下TabBar和Naviga
lizelu
2018/01/11
1.5K0
IOS开发之TabBarItem&NavigationBarItem
APP启动引导页的制作,用ViewPager实现翻页动画
这次制作App的引导页,主要用到2个知识“SharedPreferences 和 ViewPager”
爱因斯坦福
2018/09/10
2K0
Hexo部署至服务器(续)——建立引导页及分站
之前的建立分站教程(Hexo建立分站 | 花猪のBlog (cnhuazhu.top))是利用了Hexo纯静态的优势,将不同主题渲染后的public中的内容放在主站的public文件夹中。(所以称之为“主站”和“分站”,但其实这个结构用“父站”和“子站”形容更贴切。如下图所示)
花猪
2022/02/23
6960
Hexo部署至服务器(续)——建立引导页及分站
【Hybrid开发高级系列】ReactNative(六) —— 与现有的应用程序集成(IOS)
        由于React并没有做出关于你其他的技术堆栈的假设——通常在 MVC 中简单的用 V 来表示——这很容易嵌 入到现有non-React Native应用程序中。事实上,它与另外的最佳实践社区工具集成了,如 CocoaPods。
江中散人_Jun
2023/10/16
3280
【Hybrid开发高级系列】ReactNative(六) —— 与现有的应用程序集成(IOS)
羊皮书APP(Android版)开发系列(三)APP引导页启动控制类
基本上一个完整的APP都会有一个引导页,在APP首次安装或APP更新后第一次打开时显示,这个逻辑是很通用的,所以写成一个工具类,方便使用。 APP启动页逻辑有三种情况: 当APP被首次安装后打开时显示引导页。 当APP更新版本后,第一次打开时显示引导页。 当APP再次启动时,跳过引导页。 工具类AppIntroUtil.java代码如下: package cn.studyou.parchment.utils; import android.content.Context; import android.t
热心的程序员
2018/08/30
5940
残月引导页-关闭网站通知源码
Bsutss
2024/09/01
2240
ViewPager快速实现引导页
在很多APP第一次启动时都会出现引导页,在一些APP里面还会包括一些左右滑动翻页和页面轮播切换的情况。在之前也已经学习了AdapterViewFlipper和ViewFlipper,都可以很好的实现,今天继续来学习一个功能更加强大的ViewPager组件。 一、ViewPager简介 ViewPager是android扩展包v4包中的类,这个类可以让用户左右滑动切换当前的view。ViewPager继承自ViewGroup,也就是ViewPager是一个容器类,可以包含其他的View类。
分享达人秀
2018/02/05
1.5K0
ViewPager快速实现引导页
相关推荐
Onboard,迷人的引导页样式制作库
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档