美文网首页
AVPlayerViewController 不能横屏解决办法

AVPlayerViewController 不能横屏解决办法

作者: 野咪咕 | 来源:发表于2022-05-13 15:11 被阅读0次

目的:公司项目接入了别人的链接,然后用wkwebview加载该链接播放视频,当点击全屏按钮的时候,调起了AVPlayerViewController系统播放器。

因为腾讯的SuperPlayer 播放器,Category文件下UIViewController+SuperPlayerRotation

重写了supportedInterfaceOrientations 和preferredInterfaceOrientationForPresentation 这个方法,导致AVPlayerViewController 不能横屏播放,即使手机允许了旋转

即使工程内只支持竖屏,AVPlayerViewController也会自动旋转横屏。

(在webview  VC里面已经重写了这两个方法但是还是不管用,猜测因为项目启动的时候就加载了UIViewController的分类,所以导致在webview的控制器内再重写方法,没有重写到AVPlayerViewController里面,只是重写了webview里面了,所以不起作用)

解决办法:

把UIViewController+SuperPlayerRotation 文件删除,或者屏蔽- (UIInterfaceOrientationMask)supportedInterfaceOrientations {

}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {

}

#import

@interfaceUIViewController(SuperPlayerRotation)

@end

#import "UIViewController+SuperPlayerRotation.h"

@implementationUIViewController(SuperPlayerRotation)

/**

 * 默认所有都不支持转屏,如需个别页面支持除竖屏外的其他方向,请在viewController重新下边这三个方法

 */

// 支持哪些屏幕方向

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {

    return UIInterfaceOrientationMaskPortrait;

}

// 默认的屏幕方向(当前ViewController必须是通过模态出来的UIViewController(模态带导航的无效)方式展现出来的,才会调用这个方法)

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {

    return UIInterfaceOrientationPortrait;

}

@end

相关文章

网友评论

      本文标题:AVPlayerViewController 不能横屏解决办法

      本文链接:https://www.haomeiwen.com/subject/ryxuurtx.html