Полноэкранное видео на YouTube, поворот и строка состояния (iOS) - PullRequest
6 голосов
/ 10 февраля 2012

Я столкнулся с проблемой в моем текущем проекте, поэтому я запустил простое приложение, чтобы посмотреть, смогу ли я выделить проблему.В моем делегате приложения я скрываю строку состояния.

[application setStatusBarHidden:YES animated:NO];

В моем контроллере с одним представлением у меня есть этот код:

- (void)loadVideo
{
    // HTML to embed YouTube video
    NSString *youTubeVideoHTML = @"<html><head>\
    <body style=\"margin:0\">\
    <embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \
    width=\"%0.0f\" height=\"%0.0f\"></embed>\
    </body></html>";

    // Populate HTML with the URL and requested frame size
    NSString *html = [NSString stringWithFormat:youTubeVideoHTML, @"http://www.youtube.com/watch?v=VDRoBnL1gRg", 500, 500];

    // Load the html into the webview
    [self.webview loadHTMLString:html baseURL:nil];
}

Приложение также настроено на автоматический поворот.

Теперь вот проблема: когда я играю видео на YouTube, вхожу в полноэкранный режим, поворачиваю устройство на 90 градусов и нажимаю «Готово», чтобы выйти из полноэкранного режима, весь интерфейс остается смещенным вниз на 20 пикселей, как если бы он размещал строку состояния.Я заметил, что при просмотре видео в полноэкранном режиме ios добавляет строку состояния, поэтому я предполагаю, что это является частью проблемы.Я также видел проблему с родным видеоплеером.

Есть идеи?

Ответы [ 4 ]

3 голосов
/ 06 ноября 2012

Я недавно использовал этот метод встраивания YouTube для своего приложения Game Guide: Black Ops 2, и у меня возникла эта проблема наряду с отображением rootViewController при нажатии кнопки «Готово» в проигрывателе. Проверка «Wants Full Screen» на rootViewController исправила сдвиг в 20 пикселей, и чтобы исправить отображение rootViewController после нажатия кнопки «done», я добавил это в rootViewController, который добавлял UIViewController (с tableView) как дочерний элемент, который использовал [presentViewControllerAnimated: (BOOL) завершение: ноль], чтобы показать ViewController с YouTube Video Embed.

Теперь все работает отлично ... проверьте вкладку "Видео" в моем приложении, если вы хотите посмотреть, как оно себя ведет.

-(void)viewDidAppear:(BOOL)animated {
    NSLog(@"Main View viewDidAppear...");
    [super viewDidAppear:animated];
    [self dismissViewControllerAnimated:YES completion:nil];

}

1 голос
/ 23 апреля 2012

У меня была похожая проблема.

Я создал представления в раскадровке. Проверка Wants full Screen в разделе компоновки настроек контроллера вида решила для меня.

0 голосов
/ 11 февраля 2012

Чтобы попытаться добавить в ваш info.plist следующий ключ: UIStatusBarHidden («Строка состояния изначально скрыта») со значением YES.

0 голосов
/ 10 февраля 2012

Если по какой-либо причине вы используете UITabBarController, вы должны установить это представление как корневой каталог вашего окна.В отличие от других контроллеров представления, интерфейс панели вкладок никогда не должен устанавливаться как дочерний элемент другого контроллера представления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...