iOS 视频启动界面
一个简单的 “视频启动界面” 的实现,参考他人的实现,核心抽出来,简化了一下。
AnimationVideoViewController 实现
- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view from its nib.self.moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:self.videoURL];self.moviePlayer.view.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);self.moviePlayer.shouldAutoplay = YES;self.moviePlayer.controlStyle = MPMovieControlStyleNone;self.moviePlayer.repeatMode = MPMovieRepeatModeNone;self.moviePlayer.movieSourceType = MPMovieSourceTypeFile;[self.view addSubview:self.moviePlayer.view];//监听播放完成[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(playFinsihed) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];UIView *backView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];backView.backgroundColor = [UIColor clearColor];[self.moviePlayer.view addSubview:backView];UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(clickClip:)];[backView addGestureRecognizer:tap];[self configShimmerLabel];
}
AnimationVideoViewController 调用
- (void)viewWillAppear:(BOOL)animated{[super viewWillAppear:animated];[self configureVideoStrat];}- (void)configureVideoStrat {NSString *firstlaunch = @"firstlaunch";__weak typeof(self)weakSelf = self;NSInteger firstIN = [[[NSUserDefaults standardUserDefaults] valueForKey:firstlaunch] integerValue];if (firstIN != 0) {//return;}self.animationVC = [[AnimationVideoViewController alloc] init];self.animationVC.videoURL = [NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"intro"ofType:@"mp4"]];self.animationVC.view.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);self.animationVC.finishBlock = ^{[UIView animateWithDuration:1.0 animations:^{weakSelf.animationVC.view.alpha = 0;} completion:^(BOOL finished) {[weakSelf.animationVC.view removeFromSuperview];weakSelf.animationVC = nil;}];};[[[UIApplication sharedApplication] keyWindow] addSubview:self.animationVC.view];[[[UIApplication sharedApplication] keyWindow] bringSubviewToFront:self.animationVC.view];[[NSUserDefaults standardUserDefaults] setValue:@(1) forKey:firstlaunch];[[NSUserDefaults standardUserDefaults] synchronize];}
github 地址:LCSVideotartPageExample
转载于:https://www.cnblogs.com/saytome/p/6963909.html
iOS 视频启动界面相关推荐
- iOS APP启动界面异常横屏问题处理
为了保证每次APP启动必然竖屏,在工程配置中Device Orientation必须只选择Protrait.这个时候你会发现每个界面都无法旋转了,需要在AppDelegate中加入如下代码(具体支持的 ...
- iOS开发- 启动动画(动态欢迎界面,非静态Default)
最近在使用<青葱日记>这款App,发现它的启动界面做的很精美. 不同我自己之前简单的替换Default.png图片. 它的动态效果做的不错. 于是乎,花了点时间,自己实现了这个功能. 其实 ...
- IOS视频编辑功能详解上篇-添加水印
前言 用代码在简单视频编辑中,主要就是加美颜.水印(贴图).视频截取.视频拼接.音视频的处理,在美颜中,使用GPUImage即可实现多种滤镜.磨皮美颜的功能,并且可以脸部识别实时美颜等功能,这个有很多 ...
- java 程序启动界面_程序启动界面java代码
最近写了个程序启动界面,分享一下 import javax.swing.*; import java.awt.*; import java.net.*; //Download by http://ww ...
- iOS App 启动性能优化
为什么80%的码农都做不了架构师?>>> 本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq. ...
- iOS程序启动原理(上)
为什么80%的码农都做不了架构师?>>> iOS程序启动原理 Info.plist 常见设置 建立一个工程后,会在Supporting files文件夹下看到一个"工 ...
- cordova 项目添加splash启动界面
需求:cordova项目启动添加启动界面,并在设备初始化完成后自动隐藏splash 1.新建项目 cordova create Mypro com.test.pro proName 2.添加平台 cd ...
- idea 启动界面导入项目_如何为您的项目启动有效的登录页面
idea 启动界面导入项目 by Christian-Peter Heimbach 通过克里斯蒂安·彼得·海姆巴赫 如何为您的项目启动有效的登录页面 (How to launch an effecti ...
- android 启动白屏_从细节入手改善用户体验,Flutter跨平台App开发中设置Android和iOS的启动页
前言 flutter开发App方便快捷,就是冷启动的时候要加载dart引擎有短暂的白屏,严重影响用户体验,这个时候我们就需要设置一个启动图片,想国内大部分App那样(例如微信那个地球),启动App的时 ...
最新文章
- 【ACM】奇怪的回文数
- DiskLruCache 源码解析
- Rsync数据同步服务
- adb启动失败 ADB server didn't ACK
- Python的基础语法(二)
- Quartz.net通过配置文件来完成作业调度
- 手机升级android5.0,Android 7.0就要来了?你家手机升级到5.0了吗?
- 写MySQL存储过程实现动态执行SQL
- 【sklearn学习】模型网格化调参
- GIT上传下载报错:[You do not have permission to pull from the repository]的解决方案!
- 用easyx画五角星_【洛谷日报#195】有个东西叫EasyX
- 元旦和春节将至,抢票神器助君早日回家
- glMatrixMode()函数
- B站收藏夹快速导出详细步骤
- 理解Spring 容器设计理念
- xdoj-81-字符串查找
- 五子棋(人机)-粗暴版AI
- python异常数据筛选_学习笔记(06):Python数据清理实践-数据过滤,06Python,清洗,实战,筛选...
- @Validated使用
- 使用linux 中的 tree 指定显示深度,显示文件目录结构