Youtube видео заставляют приложение iOS вращаться - PullRequest
1 голос
/ 28 ноября 2011

Я создал UIWebView внутри UIViewController. Это веб-представление содержит страницу с видео на YouTube, например: http://www.youtube.com/watch?v=oL1RE8JXaIw

Когда я нажимаю на ссылку с видео, запускается видеопроигрыватель iOS. Пока все идет хорошо.

Проблема в том, что когда я поворачиваю свое приложение (в альбомном режиме) и нажимаю кнопку «Готово», мой View Controller находится в альбомном режиме.

Итак, я добавил этот обратный вызов в контроллере вида:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    return NO;
}

но ничего не изменилось.

Есть идеи?

Ответы [ 3 ]

1 голос
/ 28 ноября 2011

Этот код ориентации недействителен - всегда возвращайте YES хотя бы для одной ориентации.

0 голосов
/ 02 мая 2012

Я справился с этой проблемой, используя NSNotification, например, в методе viewDidLoad

[[NSNotificationCenter defaultCenter] addObserver:self
                                     selector:@selector(moviePlayerDidExitFullScreen)
                                         name:@"UIMoviePlayerControllerDidExitFullscreenNotification"
                                       object:nil];

, и этот метод будет вызываться по окончании видео, и вы сможете внести необходимые изменения

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

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

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

0 голосов
/ 29 ноября 2011
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    return UIInterfaceOrientationPortrait;
}
...