您好,登錄后才能下訂單哦!
怎么在iOS中實現視頻播放全屏和取消全屏功能?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
自定義 全屏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中實現視頻播放全屏和取消全屏功能的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。