• 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

  • 相关阅读:
    spring boot SpringApplication.run 执行过程
    算法 计算四则运算字符串结果
    算法 RingBuffer
    java BigDecimal 四舍五入
    算法 常用函数和近似
    java 多线程执行
    Java 三个线程依次输出ABC
    Java interrupt 中断
    java 垃圾收集器与内存分配策略
    软件项目与软件产品的区别
  • 原文地址:https://www.cnblogs.com/saytome/p/6963909.html
Copyright © 2020-2023  润新知