Questa è una domanda popolare, ma non sono riuscito a trovare alcuna soluzione che ha lavorato su Swift 2.Swift 2: la rotazione dello schermo solo sul video a schermo intero
L'app è unico ritratto. Ma mentre guardi video a schermo intero, come YouTube, gli utenti dovrebbero essere in grado di ruotare in orizzontale.
Su Objective C, questa è stata la soluzione più facile e ho usato per molto tempo:
AppDelegate file:
static NSString * const VIDEO_CONTROLLER_CLASS_NAME_IOS7 = @"MPInlineVideoFullscreenViewController";
static NSString * const VIDEO_CONTROLLER_CLASS_NAME_IOS8 = @"AVFullScreenViewController";
- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{
if ([[window.rootViewController presentedViewController] isKindOfClass:NSClassFromString(VIDEO_CONTROLLER_CLASS_NAME_IOS7)] ||
[[window.rootViewController presentedViewController] isKindOfClass:NSClassFromString(VIDEO_CONTROLLER_CLASS_NAME_IOS8)]) {
return UIInterfaceOrientationMaskAllButUpsideDown;
} else {
return UIInterfaceOrientationMaskPortrait;
}
}
Questo consente a tutti gli orientamenti, mentre il video è a schermo intero. Altrimenti, solo Portrait.
Ma sto attraversando un periodo difficile per eseguire questo lavoro su Swift. È possibile ruotare lo schermo quando i video a schermo intero sono riprodotti su Swift?
iOS 8 non ruota, ma funziona benissimo su iOS 9. Grazie! – tomDev
Per assicurarsi che l'applicazione ritorni in verticale, è meglio utilizzare "supportatoInterfaceOrientations" anziché "supportedInterfaceOrientationsForWindow". In questo modo, quando il video viene rimosso, l'orientamento tornerà automaticamente al ritratto. – tomDev
Grazie, quello era un sottoprodotto di correre e usare il completamento automatico ... Sono felice che tu abbia funzionato. – JAL