怎么在iOS中實現(xiàn)視頻播放全屏和取消全屏功能?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了汝城免費建站歡迎大家使用!
自定義 全屏vc VedioPlayerViewController 并定義屬性
/// 自定義的那個視頻類 ///@property (nonatomic,strong) VedioPlayer *vedioPlayer;
在VedioPlayer中定義屬性
///視頻展示的view 的父視圖 @property (nonatomic,strong) UIView *currentSuperView;
在視頻類定義方法 全屏實現(xiàn)
///取消全屏 - (void)fullScreen:(UIBarButtonItem *)btnItem{ ///視頻展示的view 的父視圖 self.currentSuperView = self.superview; ///拿到window UIWindow *window = [UIApplication sharedApplication].keyWindow; ///全屏vc初始化 VedioPlayerViewController *vc = [VedioPlayerViewController new]; ///判斷是否由導(dǎo)航控制器控制 if ([window.rootViewController isKindOfClass:[UINavigationController class]]) { ///拿到導(dǎo)航控制器控制 UINavigationController *nvc = (UINavigationController *)window.rootViewController; ///把全屏視頻的vc推進去 [nvc pushViewController:vc animated:NO]; ///重新設(shè)置視頻大小 [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]; } }
在視頻類定義方法 取消全屏實現(xiàn)
- (void)cancelFullScreen:(UIBarButtonItem *)btnItem{ ///拿到window UIWindow *window = [UIApplication sharedApplication].keyWindow; ///判斷是否由導(dǎo)航控制器控制 if ([window.rootViewController isKindOfClass:[UINavigationController class]]) { ///拿到導(dǎo)航控制器控制 UINavigationController *nvc = (UINavigationController *)window.rootViewController; ///推出一個vc,自然就回到原來的視圖了 [nvc popViewControllerAnimated:NO]; ///把視頻添加到原本的視圖 [self.currentSuperView addSubview:self]; ///重新設(shè)置視頻大小 [self setFrame:self.currentFrame]; //取消全屏后 按鈕重新綁定全屏方法 [self.fullScreenItem setAction:@selector(fullScreen:)]; ///自動播放 [self startOrStop]; } }
看完上述內(nèi)容,你們掌握怎么在iOS中實現(xiàn)視頻播放全屏和取消全屏功能的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!