2

Я работаю над приложением, которое запрещает вращение, если только фильм не воспроизводится. У меня приложение просто отлично, но проблема возникает, когда я пытаюсь просмотреть фильм.iPhone Movie Rotation For Only Subview

Симулятор вынужден вращаться, но в фильме нет. Примером этого является ниже:

Movie Player Error

Я не могу понять, как повернуть фильм тоже. Я ищу, чтобы повернуть только подвью. Мой код ниже:

MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:finalURL]]; 
if ([moviePlayer respondsToSelector:@selector(setFullscreen:animated:)]) { 
       // Use the 3.2 style API 
       moviePlayer.controlStyle = MPMovieControlStyleDefault; 
       moviePlayer.shouldAutoplay = YES; 
       [self.view addSubview:moviePlayer.view]; 
       [moviePlayer setFullscreen:YES animated:YES]; 
      [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:NO]; 

      // Rotate the view for landscape playback 
      [[moviePlayer view] setBounds:CGRectMake(0, 0, 480, 320)]; 
      [[moviePlayer view] setCenter:CGPointMake(160, 240)]; 
      [[moviePlayer view] setTransform:CGAffineTransformMakeRotation(M_PI/2)]; 

      // Set frame of movieplayer 
      [[moviePlayer view] setFrame:CGRectMake(0, 0, 480, 320)]; 

      } else { 
       // Use the 2.0 style API 
       moviePlayer.movieControlMode = MPMovieControlModeHidden; 
       [moviePlayer play]; 
      } 
} 

EDIT: Я попытался [moviePlayer setOrientation UIInterfaceOrientationLandscapeRight];, но компилятор дает мне ошибку и ничего не происходит

+0

вы испытывали на реальном устройстве? – Dancreek

+0

Да, и он делает то же самое. –

ответ

0

Вы используете MPMoviePlayerController?

Попробуйте MPMoviePlayerViewController. Этот класс является UIViewController и должен обрабатывать вращение на нем.

Вы получаете MPMoviePlayerController от контроллера представления, просто вызывая метод [moviePlayerViewController moviePlayer];

+0

Я, я просто забыл добавить его к вопросу. Это сейчас. –