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