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

来源:互联网 发布:win7电脑优化 编辑:程序博客网 时间:2024/05/17 03:22

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

导语

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

!
![pic1]

pic2

使用

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

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

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

Objective-C

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}];

Swift

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    }

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

Objective-C

// ImageOnboardingViewController *onboardingVC = [OnboardingViewController onboardWithBackgroundImage:[UIImage imageNamed:@"background"] contents:@[firstPage, secondPage, thirdPage]];// VideoNSBundle *bundle = [NSBundle mainBundle];NSString *moviePath = [bundle pathForResource:@"yourVid" ofType:@"mp4"];NSURL *movieURL = [NSURL fileURLWithPath:moviePath];OnboardingViewController *onboardingVC = [OnboardingViewController onboardWithBackgroundVideoURL:movieURL contents:@[firstPage, secondPage, thirdPage]];

Swift

// Imagelet onboardingVC = OnboardingViewController(backgroundImage: UIImage(named: "background"), contents: [firstPage, secondPage, thirdPage])// Videolet bundle = NSBundle.mainBundle()let moviePath = bundle.pathForResource("yourVid", ofType: "mp4")let movieURL = NSURL(fileURLWithPath: moviePath!)let onboardingVC = OnboardingViewController(backgroundVideoURL: movieUrl, contents: [firstPage, secondPage, thirdPage])

自定义

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

自定义

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

默认情况下,您用于背景的图像将在其上应用蒙版,使其变暗一点。这是添加一点点对比度,所以文本可以更容易看到。如果您的图片已经编辑或看起来很好,可以很容易地禁用此功能:

onboardingVC.shouldMaskBackground = NO; // defaults to YES

也可以加模糊效果到图片上

onboardingVC.shouldBlurBackground = YES; // defaults to NO

在页面之间转换时,对图标,文本和按钮应用淡入淡出效果。当您滚动时,内容淡出,下一页的内容在向内滚动时淡入。

onboardingVC.shouldFadeTransitions = YES ; //默认为NO

注意:确保在设置这些属性之前不会导致onboard 视图控制器的视图被加载,因为这些值仅在viewDidLoad调用视图控制器时生效,因此在设置此值之前进行类似onboardingVC.view.backgroundColor = [UIColor whiteColor];的设置操作将导致设置这些不生效。

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

dark.png

darkblur.png

lightblur.png

normal.png

自动导航

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

contentVC.movesToNextViewController = YES ; onboardingVC.swipingEnabled = NO ; onboardingVC.hidePageControl = YES ;

Skipping

如果您想跳过(skip)引导页,就要使skipping button可以点击和点击后block产生效果

onboardingVC.allowSkipping = YES;onboardingVC.skipHandler = ^{    // Dismiss, fade out, etc...};

Blocks

在某些情况下,您可能希望在引导页面( content pages)即将出现时以及出现时执行某些操作。在这种情况下,您可以在任何内容页面上设置viewWillAppearBlockviewDidAppearBlock属性来处理任何您想要的内容。

contentVC.viewWillAppearBlock = ^{    // do something when the view will appear here…}contentVC.viewDidAppearBlock = ^{    // do something when the view appears here…}

注意:暂时只支持竖屏

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 发货运单号发错了怎么办 天猫积分为零怎么办 山东聊城小型车脱审一年怎么办? 廉租房如果夫妻离婚怎么办 淘宝客服不给退货怎么办 天猫客服打字慢怎么办 京东买的kindle坏了怎么办 欧巴怎么办韩语怎么写 聚划算淘宝口令打不开怎么办 道聚城白银礼包下架怎么办 聚星输了很多钱怎么办 弹力运动裤被烟烧了个洞怎么办 生完宝宝胯宽怎么办 黑色纯棉裤子洗的发白怎么办 金盾保险柜密码忘了怎么办 装修好的房子漏水怎么办 刚装修的房子墙面开裂怎么办 刚装修的房子有味道怎么办 代销产品规格填写不完整怎么办 我的信息被泄露怎么办 进入不良网站手机发信息怎么办 发不良信息被停机了怎么办 手机qq登录显示被冻结怎么办 qq账户被冻结了怎么办 qq钱包账户被永久冻结怎么办 怎么办转让费还没给我 收钱吗不能抵用红包怎么办 红包抵扣被关了怎么办 天猫客户给差评怎么办 淘宝闪电退款有纠纷怎么办呀 手机屏幕右下角出现彩色点怎么办 在超市买到假货怎么办 天猫超市多发货怎么办 天猫中不小心取消退款了怎么办 天猫超市写错了怎么办 二维码收付款不到红包怎么办 天猫优惠劵过期了怎么办 天猫购物津贴用不完怎么办 天猫上买的大件东西实物不符怎么办 天猫上面料成分与实物不符怎么办 闲鱼发货与实物不符怎么办