iOS только приложение для портретов возвращается из UIWebview youtube в альбомной ориентации

Я создаю iOS application и я столкнулся со следующей проблемой:

Проект настроен на portrait режим приложения. у меня есть UIWebview, который загружает веб-страницу с youtube видео в нем. При нажатии на видео оно начинается в youtube player, Когда видео меняется на landscape Нажмите кнопку "Готово" и вернитесь к UIWebview показывая это в landscape,

Я получаю NSNotification когда видео закончено, но я не могу заставить portrait Режим.

Это не должно быть возможно, как я могу позволить YouTube быть в landscape но заставить приложение остаться в portrait Режим? Или есть другой обходной путь?

РЕДАКТИРОВАТЬ:

После контакта с Apple это оказалось ошибкой и сообщается.

2 ответа

[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait];

это частный API . Я не рекомендовал бы использовать это.

    UIWindow *window = [[UIApplication sharedApplication] keyWindow];
    UIView *view = [window.subviews objectAtIndex:0];
    [view removeFromSuperview];
    [window insertSubview:view atIndex:0];

гораздо лучше, как я думаю. Это заставляет приложение регулировать свою ориентацию.

Я думаю, что вы можете использовать NSNotification, как вы сказали, а в вызываемом методе пока использовать эту строку кода, чтобы заставить представление к портрету

- (void)YourMethodCalledByNSNotification
{
    UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;

    if (orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight || orientation == UIInterfaceOrientationPortraitUpsideDown) 
    {
        [[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait];
    }
}

Надеюсь, это поможет

Другие вопросы по тегам