Forcer le mode paysage sur plein écran MPMoviePlayerController empêche de rotation correct au moment de quitter le plein écran

J'ai une application iPhone (iOS6+) qui prend en charge tous interface orientations. Toutefois, seule l'orientation paysage doit être pris en charge lorsqu'un MPMoviePlayerController est la lecture d'une vidéo en plein écran.

J'ai trouvé la solution suivante sur Stack Overflow, et il fonctionne.

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayerWillEnterFullscreenNotification:) name:MPMoviePlayerWillEnterFullscreenNotification object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayerWillExitFullscreenNotification:) name:MPMoviePlayerWillExitFullscreenNotification object:nil];

...

-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {
    if (self.landscapeOnlyOrientation) {
        return UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight;
    }
    return UIInterfaceOrientationMaskAll;
}

- (void)moviePlayerWillEnterFullscreenNotification:(NSNotification*)notification {
    self.landscapeOnlyOrientation = YES;
}

- (void)moviePlayerWillExitFullscreenNotification:(NSNotification*)notification {
    self.landscapeOnlyOrientation = NO;
}

Cependant, un ennuyeux problème persiste, à savoir que si la vidéo sorties en plein écran en orientation portrait (après avoir joué forcé paysage), la vision sous-jacente de ne pas tourner en arrière. J'ai pour faire pivoter manuellement l'appareil en mode paysage et à l'arrière de portrait pour déclencher la mise à jour de l'orientation. Est-il une manière que je peux déclencher ce genre de mise à jour par programmation?

L'ensemble des captures d'écran doivent illustrer ce que je veux dire:

Forcer le mode paysage sur plein écran MPMoviePlayerController empêche de rotation correct au moment de quitter le plein écran
Forcer le mode paysage sur plein écran MPMoviePlayerController empêche de rotation correct au moment de quitter le plein écran
Forcer le mode paysage sur plein écran MPMoviePlayerController empêche de rotation correct au moment de quitter le plein écran

NB: Pour diverses raisons, à l'aide de MPMoviePlayerViewController n'est pas possible.

J'ai soumis un bug à Apple sur ce problème il y a des mois. Je vous suggère de faire de même. Le problème est que l'orientation des méthodes de la sous-vue-contrôleur ne sont pas consultés.
Des suggestions pour un travail autour?
Pas de. Vous pourriez essayer d'empêcher l'utilisation du mode plein écran. Ou tout simplement ne pas utiliser MPMoviePlayerController. Fondamentalement, c'est juste une grosse incohérence d'Apple et les développeurs ont besoin de garder sur eux jusqu'à ce qu'ils le réparer.
avez-vous vérifié ce encore de réponse. il est un exemple de projet attaché à ce que pourrait vous aider. stackoverflow.com/questions/15947349/...

OriginalL'auteur svth | 2014-02-20