2011-04-10 9 views
3

My MPMoviePlayerControllerビューは、別のビューコントローラのビューにサブビューとして追加されます。ビデオをフルスクリーンで再生してシミュレータを反転すると、ビデオは反転しませんし、親ビューも表示しません。しかし、回転方法(下のチェックコード)にreturn YESを追加すると、ビデオは望みどおりにフルスクリーンで表示されますが、親ビューも回転しますが、私は望みません。親ビューのビュー。フルスクリーンで、親ビューではないときに、ビデオの回転のみを許可するにはどうすればよいですか?MPMoviePlayerControllerビデオを回転させる方法(スーパービューではない)

ここで私が使用するコードは次のとおりです。

- (void)viewDidAppear:(BOOL)animated { 

    NSBundle *bundle=[NSBundle mainBundle]; 
    NSString *moviePath = [bundle pathForResource:@"MainPageMovie" ofType:@"mp4"]; 
    NSURL *movieURL=[[NSURL fileURLWithPath:moviePath] retain]; 
    MPMoviePlayerController *theMovie = [[MPMoviePlayerController alloc] initWithContentURL:movieURL]; 
    theMovie.scalingMode = MPMovieScalingModeAspectFill; 
    theMovie.view.frame = CGRectMake(115.0, 156.0, 200.0, 150.0); 
    [self.view addSubview:theMovie.view]; 
    [theMovie play]; 

    [super viewDidLoad]; 
    self.view.backgroundColor = [UIColor viewFlipsideBackgroundColor]; 
} 

と回転方法について:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    // Return YES for supported orientations 
    return YES; 
} 

答えて

0

簡単な方法で表示するMPMoviePlayerViewControllerを使用することですビデオのために

映画。別のビューコントローラであるため、これはあなたのための回転を処理する必要があります。

MPMoviePlayerControllerをサブビューとして追加して本当にやりたいのであれば、あなたはもっと難しい作業を先取りしています。基本的には、UIDeviceOrientationDidChangeNotificationをリッスンし、デバイスの向きに応じて、適切なtransform,bounds、およびcenterをムービープレーヤビューに適用する必要があります。

+0

基本的には、親ビューのランドスケープビューを設計すると、アプリケーション全体のランドスケープビューをデザインしたり、ビデオをポートレートビューで再生したりできますか? :Pとにかくありがとう:)私は別のビューでビデオを追加しようとします。これは私の問題を解決する必要があります:) –

関連する問題