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];
}
}
Надеюсь, это поможет