Permitir vídeo em paisagem com o aplicativo somente retrato

Eu tenho um UIWebView incluído em um UIViewController, que é um descendente de UINavigationController. Se parece com isso:

O aplicativo é apenas retrato. Quando reproduzo o vídeo, desejo que o usuário possa girar o dispositivo e ver o vídeo no modo paisagem. Eu uso esse código para permitir:

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
    id presentedViewController = [self topMostController];
    NSString *className = presentedViewController ? NSStringFromClass([presentedViewController class]) : nil;

    if ([className isEqualToString:@"MPInlineVideoFullscreenViewController"] ||
        [className isEqualToString:@"MPMoviePlayerViewController"] ||
        [className isEqualToString:@"AVFullScreenViewController"]) {
        return UIInterfaceOrientationMaskAllButUpsideDown;
    }

    return UIInterfaceOrientationMaskPortrait;
}

- (UIViewController *)topMostController {
    UIViewController *topController = [UIApplication sharedApplication].keyWindow.rootViewController;

    while (topController.presentedViewController) {
        topController = topController.presentedViewController;
    }

    return topController;
}

E então, no meu UINavigationController (quando o vídeo termina, a exibição não é apresentada em paisagem, mas apenas em retrato):

- (BOOL)shouldAutorotate
{
    return NO;
}

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationPortrait;
}

Tudo funciona perfeitamente:

Mas então o vídeo termina de ser reproduzido (ou o usuário toca em 'Concluído') e as telas retornam à visualização subjacente. É o que acontece:

Como você pode ver, a barra de navegação desliza para baixo da barra de status. Além disso, recebo muitos erros de layout automático nos logs:http://pastebin.com/09xHzmgJ

Alguma idéia de como resolver isso?

questionAnswers(8)

yourAnswerToTheQuestion