本文實例為大家分享了iOS實現視頻播放和取消全屏功能具體代碼,供大家參考,具體內容如下
iOS 視頻播放全屏和取消全屏功能實現,所需全屏的視頻所在的vc需要導航控制器控制
自定義 全屏vc VedioPlayerViewController 并定義屬性
/// 自定義的那個視頻類///@property (nonatomic,strong) VedioPlayer *vedioPlayer;
在VedioPlayer中定義屬性
///視頻展示的view 的父視圖@property (nonatomic,strong) UIView *currentSuperView;
在視頻類定義方法 全屏實現
///取消全屏- (void)fullScreen:(UIBarButtonItem *)btnItem{ ///視頻展示的view 的父視圖 self.currentSuperView = self.superview; ///拿到window UIWindow *window = [UIApplication sharedApplication].keyWindow; ///全屏vc初始化 VedioPlayerViewController *vc = [VedioPlayerViewController new]; ///判斷是否由導航控制器控制 if ([window.rootViewController isKindOfClass:[UINavigationController class]]) { ///拿到導航控制器控制 UINavigationController *nvc = (UINavigationController *)window.rootViewController; ///把全屏視頻的vc推進去 [nvc pushViewController:vc animated:NO]; ///重新設置視頻大小 [self setFrame:CGRectMake(0, 0, vc.view.frame.size.width, vc.view.frame.size.height)]; //全屏后 按鈕綁定取消全屏方法 [self.fullScreenItem setAction:@selector(cancelFullScreen:)]; ///vc.conciseVedioPlayer = self; ///添加視頻到全屏vc [vc.view addSubview:self]; ///自動播放 [vc.conciseVedioPlayer startOrStop]; } }在視頻類定義方法 取消全屏實現
- (void)cancelFullScreen:(UIBarButtonItem *)btnItem{ ///拿到window UIWindow *window = [UIApplication sharedApplication].keyWindow; ///判斷是否由導航控制器控制 if ([window.rootViewController isKindOfClass:[UINavigationController class]]) { ///拿到導航控制器控制 UINavigationController *nvc = (UINavigationController *)window.rootViewController; ///推出一個vc,自然就回到原來的視圖了 [nvc popViewControllerAnimated:NO]; ///把視頻添加到原本的視圖 [self.currentSuperView addSubview:self]; ///重新設置視頻大小 [self setFrame:self.currentFrame]; //取消全屏后 按鈕重新綁定全屏方法 [self.fullScreenItem setAction:@selector(fullScreen:)]; ///自動播放 [self startOrStop]; } }ios視頻下載到本地相冊
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答