Aufgrund der Art und Weise der Orientierungsmodus in iOS behandelt wird, 10 Sie haben folgende Möglichkeiten:
„Politisch“ -correct Lösung
1) erlauben, Ihre Anwendung in allen zu sein die Ausrichtungsmodi im info.plist
2) überall die Landschaft nicht zulassen
die hacky Lösung
Ihr AppDelegate wird jedes Mal aufgerufen, wenn Sie Ihr Telefon hinsichtlich der unterstützten Ausrichtungen für das jeweilige Fenster drehen. Wenn Sie also feststellen können, dass der View-Controller im "aktuellen Fenster" der Youtube-Video-View-Controller ist, können Sie alle Ausrichtungen zurückgeben, andernfalls geben Sie portret zurück.
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
}
}
**, wie Sie können wir für AVFullScreenViewController überprüfen, was genau ist die UIViewController Unterklasse verantwortlich für YouTube-Videos in Vollbild angezeigt werden.
Ich denke, nur ein Googler kann Ihnen damit antworten. Ich sehe keine aktualisierte Version zu diesem Problem, die Sie in der [Daten-API] (https://developers.google.com/youtube/v3/revision_history) und [IOS Helper] (https: // developers) sehen können. google.com/youtube/v3/guides/ios_youtube_helper#best-practices-and-limitations). Wenn Sie glauben, dass dies ein Fehler ist, versuchen Sie [Ticket] (https://code.google.com/p/gdata-issues/issues/list?q=label:APi-YouTube) zu diesem Problem. – KENdi