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

 

posted on 2015-06-03 17:24  iRemark  阅读(1658)  评论(0编辑  收藏  举报

导航