当前位置: 首页 > 编程笔记 >

IOS实现视频动画效果的启动图

商和雅
2023-03-14
本文向大家介绍IOS实现视频动画效果的启动图,包括了IOS实现视频动画效果的启动图的使用技巧和注意事项,需要的朋友参考一下

先上效果图

实现思路

主要思路就是用一个控制器来作为播放视频的载体,然后在让这个控制器作为根视图,视频播放完成之后那就该干嘛干嘛了。

话不多说了,下面就放代码好了

先新建一个控制器AnimationViewController在控制器中新建一个属性moviePlayer,记得要先引入系统库<MediaPlayer/MediaPlayer.h>

@property (nonatomic, strong) MPMoviePlayerController *moviePlayer;

设置moviePlayer我是在懒加载中直接设置的

-(MPMoviePlayerController *)moviePlayer{
  if (!_moviePlayer) {
    _moviePlayer = [[MPMoviePlayerController alloc]init];
    [_moviePlayer.view setFrame:self.view.bounds];
    //设置自动播放
    [_moviePlayer setShouldAutoplay:NO];
    //设置源类型 因为新特性一般都是播放本地的小视频 所以设置源类型为file
    _moviePlayer.movieSourceType = MPMovieSourceTypeFile;
    //取消控制视图 如:播放暂停等
    _moviePlayer.controlStyle = MPMovieControlStyleNone;
    [self.view addSubview:_moviePlayer.view];
    //监听播放完成
    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(playFinsihed) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
  }
  return _moviePlayer;
}

然后在.h中公开一个moviePath视频的路径,还有一个结束播放的blockplayFinished等下需要。

AnimationViewController中也算差不多了,毕竟也没什么东西,接下来我们去AppDelegate中声明一个AnimationViewController属性

- (AnimationViewController *)animationViewController{
  if (!_animationViewController) {
    _animationViewController = [[AnimationViewController alloc]init];
    //设置本地视频路径
    _animationViewController.moviePath = [[NSBundle mainBundle] pathForResource:@"V" ofType:@"mp4"];
    _animationViewController.playFinished = ^{
      UINavigationController *rootNav = [[UINavigationController alloc] initWithRootViewController:[[ViewController alloc] init]];
      [UIApplication sharedApplication].keyWindow.rootViewController = rootNav;
    };
  }
  return _animationViewController;
}

然后在AppDelegate的启动方法把这个控制器设为根视图

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
  self.window.rootViewController = self.animationViewController;
  [self.window makeKeyAndVisible];
  return YES;
}

总结

这里要说一句,刚开始我用这个路径但是一直为空,后来我添加了一个名字为Resource的文件夹把mp4放进去就好了,以上就是这篇文章的全部内容了,有需要的朋友们可以参考借鉴。

 类似资料:
  • 本文向大家介绍IOS等待时动画效果的实现,包括了IOS等待时动画效果的实现的使用技巧和注意事项,需要的朋友参考一下 查询时间或长或短,为了提升用户体验,目前用的比较多的手段之一就是查询等待时添加一个动态等待效果。当我们在请求网络时加载页面时有个动作效果,效果图如下: 源代码可以网上找开源项目Coding.net,上面的效果原理为两张图片组合,外面那个则为动画转动,里面的图标则是透明度的变化;主要代

  • 本文向大家介绍iOS 水波纹动画的实现效果,包括了iOS 水波纹动画的实现效果的使用技巧和注意事项,需要的朋友参考一下 本人最近在研究iOS动画,至于原理,我不在这里说了。毕竟这里的标题:水波纹的实现。 在这里,要学习水波纹的实现,首先要知道以下几点知识: 1.正弦函数:y = Asin(wx +b) + c。相信大家都比较熟悉。 2.CAShapeLayer的简单实用,相信看一下,就是知道其大概

  • 本文向大家介绍iOS实现抖音点赞动画效果,包括了iOS实现抖音点赞动画效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了iOS实现抖音点赞动画的具体代码,供大家参考,具体内容如下 1. 概述 最近看到抖音点赞爱心的动画效果比较好,出于好奇,自己也研究仿照动画效果写了一个,不喜欢的朋友可不要喷我噢!!! 话不多说,先来看一下执行效果。 2. 动画分析 上面的示例效果有点快,现在来看一

  • 在这里,我们将动态画面简称为动画(animation)。正如动画片的原理一样,动画的本质是利用了人眼的视觉暂留特性,快速地变换画面,从而产生物体在运动的假象。而对于Three.js程序而言,动画的实现也是通过在每秒中多次重绘画面实现的。 为了衡量画面切换速度,引入了每秒帧数FPS(Frames Per Second)的概念,是指每秒画面重绘的次数。FPS越大,则动画效果越平滑,当FPS小于20时,

  • 本文向大家介绍iOS实现滚动字幕的动画特效,包括了iOS实现滚动字幕的动画特效的使用技巧和注意事项,需要的朋友参考一下 效果图 开始上代码 滚动字幕的原理是用timer定时器间隔一定的时间来驱动scrollView上的内容偏移,来实现滚动的效果,原理比较简单,关键是有些细节需要处理好,实现流畅效果的同时要考虑到性能优化 这里是.h文件的接口方法及属性,可适应大部分自定义场景 实现滚动字幕的思路和无

  • 本文向大家介绍iOS实现点赞动画特效,包括了iOS实现点赞动画特效的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了iOS实现点赞动画特效的具体代码,供大家参考,具体内容如下 动画的基本使用 动画的实现基本上是基于对View控件和View的layer属性进行操作,对视图进行移动,尺寸变换,透明度变换,旋转等一系列操作。 关键帧动画: 动画的实现可以分为两个部分,一部分是规定动画的变化内