Desidero supportare solo l'orientamento verticale su tutti i controller di visualizzazione della mia app iOS. Tuttavia, incorporo un video di YouTube in uno dei miei controller di visualizzazione, e quando quel video è selezionato per occupare tutto lo schermo, voglio che l'utente sia in grado di orientare il suo telefono orizzontalmente in modo che il video si espanda per prendere lo schermo intero .Autorotazione iOS 6.0+ per video incorporato youtube
EDIT: Ho provato ad utilizzare il codice da Autorotate in iOS 6 has strange behaviour:
- (NSUInteger) application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {
return self.fullScreenVideoIsPlaying ?
UIInterfaceOrientationMaskAllButUpsideDown :
UIInterfaceOrientationMaskPortrait;
}
ea mio controller della vista che presenta la/YouTube telaio UIWebView
, ho questo codice nel mio viewDidLoad
:
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(windowNowVisible:)
name:UIWindowDidBecomeVisibleNotification
object:self.view.window
];
- (void)windowNowVisible:(NSNotification *)notification
{
AppDelegate* appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
appDelegate.fullScreenVideoIsPlaying = !(appDelegate.fullScreenVideoIsPlaying);
}
Tuttavia, quando l'utente preme sul video YouTube a schermo intero, se lui/lei ha ancora il telefono ho in modo riepilogativo, anche il controller della vista di presentazione rimane orizzontale (voglio che il controller della vista attuale sia ritratto). È una gara sulla variabile fullSreenVideoIsPlaying
che non si aggiorna abbastanza velocemente in modo che il mio controller di visualizzazione che presenta sia ritratto.
Qualsiasi feedback su come ottenere ciò sarebbe molto apprezzato.
Grazie!
Si può leggere - http://buddingdevelopers.com/autorotation-in-ios/ Autorotation è chiaramente spiegato qui. – Xcoder
possibile duplicato: http://stackoverflow.com/questions/13580753/mpmovieplayercontroller-rotating-in-full-screen-while-the-parent-view-controller –