Ротация фильма iPhone только для Subview - PullRequest
2 голосов
/ 24 июня 2011

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

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

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];  
            } 
}

РЕДАКТИРОВАТЬ: Я пытался [moviePlayer setOrientation UIInterfaceOrientationLandscapeRight];, но компилятор выдает ошибку, и ничего не происходит

1 Ответ

0 голосов
/ 24 июня 2011

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

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

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

...