iOS的Youtube API从iOS 10开始不再支持横屏



我正在使用YTPlayerView Youtube API来支持我的应用程序中的视频。

在iOS10发布之前,当视频全屏播放并旋转设备时,我的应用程序可以正确地将视频切换到横屏。

我升级到iOS10后,视频不再随设备旋转,这可以在模拟器中重现(适用于iOS 9,不再适用于iOS10)

我的应用程序只支持纵向模式,但我可以在全屏播放时将全屏视频切换到横向。

有什么建议吗?由于

由于iOS 10中方向模式的处理方式,您有以下选项:

"政治"正确的解决方案

1)允许你的应用在info.plist

中的所有方向模式下运行

2)禁止在其他任何地方出现景观

破解方案

你的AppDelegate会在每次你旋转手机时根据特定窗口支持的方向被调用。因此,如果你能检测到"当前窗口"中的视图控制器是youtubevideo视图控制器,那么你可以返回所有方向,否则返回portret。

  func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
    guard let topController = window?.topController() else {
      return application.supportedInterfaceOrientations(for: window)
    }
    let className = NSStringFromClass(type(of: topController))
    let hackyViewControllers = ["avfullscreenviewcontroller"]
    if hackyViewControllers.contains(className.lowercased()) {
      return .allButUpsideDown
    } else {
      return .portrait
    }
  }

**正如你所看到的,我们检查AVFullScreenViewController,这正是负责全屏显示youtube视频的UIViewController子类

相关内容

  • 没有找到相关文章

最新更新