一个好的引导页会使得用户体验大大提升,利用视频来做,可以更简单的达到优雅的效果。
使用MediaPlayer.framework框架下的AVPlayerLayer,它和Core Animation紧密地结合在一起,提供了一个CALayer子类来显示自定义的内容类型。
加入MediaPlayer.framework及

 #import  #import

核心代码:

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{int Offset = _scroll.contentOffset.x/_scroll.frame.size.width;if (Offset == lastindex)
{    return;
}if (Offset == 0)
{
    [avPlayer1 seekToTime:kCMTimeZero];
    [avPlayer1 play];
    [avPlayer2 seekToTime:kCMTimeZero];
    [avPlayer2 pause];
    [avPlayer3 seekToTime:kCMTimeZero];
    [avPlayer3 pause];
    _pagecontrol.currentPage = 0;
}else if (Offset == 1)
{
    [avPlayer2 seekToTime:kCMTimeZero];
    [avPlayer2 play];
    [avPlayer1 seekToTime:kCMTimeZero];
    [avPlayer1 pause];
    [avPlayer3 seekToTime:kCMTimeZero];
    [avPlayer3 pause];
    _pagecontrol.currentPage = 1;
}else if (Offset == 2)
{
    [avPlayer3 seekToTime:kCMTimeZero];
    [avPlayer3 play];
    [avPlayer1 seekToTime:kCMTimeZero];
    [avPlayer1 pause];
    [avPlayer2 seekToTime:kCMTimeZero];
    [avPlayer2 pause];
    _pagecontrol.currentPage = 2;
}
lastindex = Offset;}

主要通过UIScrollView的代理来实现现在是哪一页面。
下载地址:https://github.com/sinceresk/SIHomePage
效果如图:

文章转自 neilbee的简书

iOS利用视频做起始页的更多相关文章

  1. iOS 利用UICollectionView做一个无限循环广告栏

    一.效果图 左右丝滑滑动,并且有缩放动画. 二.分析和思路 1. 为什么选择用UICollectionView去做上面的效果? 首先无限效果永远是表现出来的,而不是程序里面创建了无数个view,如何做 ...

  2. UIView封装动画--iOS利用系统提供方法来做转场动画

    UIView封装动画--iOS利用系统提供方法来做转场动画 UIViewAnimationOptions option; if (isNext) { option=UIViewAnimationOpt ...

  3. UIView封装动画--iOS利用系统提供方法来做关键帧动画

    iOS利用系统提供方法来做关键帧动画 ios7以后才有用. /*关键帧动画 options:UIViewKeyframeAnimationOptions类型 */ [UIView animateKey ...

  4. UIView封装动画--iOS 利用系统提供方法来做弹性运动

    iOS 利用系统提供方法来做弹性运动 /*创建弹性动画 damping:阻尼,范围0-1,阻尼越接近于0,弹性效果越明显 velocity:弹性复位的速度 */ [UIView animateWith ...

  5. 如何实现 iOS 短视频跨页面的无痕续播?

    在一切皆可视频化的今天,短视频内容作为移动端产品新的促活点,受到了越来越多的重视与投入.盒马在秒播.卡顿率.播放成功率等基础优化之外,在用户使用体验上引入了无痕续播能力,提升用户观看视频内容的延续性. ...

  6. ios 音视频实现边播边缓存的思路和解决方案 (转)

    本片为转载内容,主要是以后自己看起来方便一些 原文地址:iOS音视频实现边下载边播放 其实音视频本地缓存的思想都差不多,都需要一个中间对象来连接播放器和服务器. 近段时间制作视频播放社区的功能,期间查 ...

  7. iOS 音频视频图像合成那点事

    代码地址如下:http://www.demodashi.com/demo/13420.html 人而无信不知其可 前言 很久很久没有写点什么了,只因为最近事情太多了,这几天终于闲下来了,趁此机会,记录 ...

  8. Java基础-继承 利用接口做参数,写个计算器,能完成+-*/运算

    38.利用接口做参数,写个计算器,能完成+-*/运算 (1)定义一个接口Compute含有一个方法int computer(int n,int m); (2)设计四个类分别实现此接口,完成+-*/运算 ...

  9. [iOS] 使用xib做为应用程序入口 with Code

    [iOS] 使用xib做为应用程序入口 with Code 前言 开发iOS APP的时候,使用storyboard能够快速并且直觉的建立用户界面.但在多人团队开发的情景中,因为storyboard是 ...

随机推荐

  1. 8.8-8.10 usaco

    summary:44 没救了...整天刷水迟早药丸! ❤bzoj3892: 区间dp.我原来的思路是dp[i][j]表示前i个数跳过了j次,那么转移可以前k个数转移了j-1次,枚举k就好了,但是这样是 ...

  2. 使用hibernate tools插件生成POJO

    很多时候我们已经设计好了数据库,需要使用hibernate来做数据持久化,因此需要根据数据库中的表结构生成相应的POJO. 本例使用hibernatetools来自动创建pojo. 测试环境:ecli ...

  3. Android MVP架构分析

    App架构在Android开发者中一直是讨论比较多的一个话题,目前讨论较多的有MVP.MVVM.Clean这三种.google官方对于架构的态度一直是非常开放的,让开发者自主选择组织和架构app的方式 ...

  4. ajax取json数据——简单的

    json数据:json4.json <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  5. erlang mnesia 数据库实现SQL查询

    Mnesia是一个分布式数据库管理系统,适合于电信和其它需要持续运行和具备软实时特性的Erlang应用,越来越受关注和使用,但是目前Mnesia资料却不多,很多都只有官方的用户指南.下面的内容将着重说 ...

  6. POJ 2352 Stars

    题意:有一堆星星,每个星星的级别为坐标不高于它且不在它右边的星星个数,求级别为0-n - 1的星星个数. 解法:树状数组.输入的星星坐标已经按y坐标升序排序,y坐标相等的按x升序排序,所以每输入一个数 ...

  7. opencv2.4.4 背景减除算法收集

    算法集合:https://code.google.com/p/bgslibrary/ 测试:AdaptiveBackgroundLearning算法 #include <iostream> ...

  8. Hander

    多线程与UI线程间通信 向你展示如何从任务发送数据对象上运行用户界面(UI)线程.该特性允许你的任务做背景的工作结果,然后再到UI元素如位图. 每个应用程序都有自己的特殊的线程运行的UI对象如视图对象 ...

  9. acm数据结构整理

    一.区间划分 //区间划分+持久化并查集:区间连通情况统计. inline bool comp(Ask x, Ask y){return x.km == y.km ? x.l > y.l : x ...

  10. Java File 类的使用方法详解

    Java File类的功能非常强大,利用Java基本上可以对文件进行所有的操作.本文将对Java File文件操作类进行详细地分析,并将File类中的常用方法进行简单介绍,有需要的Java开发者可以看 ...