2011-04-26 15 views
4

私はiPhone開発には新しく、最初のAppを作成しました。アプリケーション全体は、映画を再生する以外はポートレートモードが必要です。私は映画を開始するMPMoviePlayerControllerを使用してprotraitモードで再生されます。私はMPMoviePlayerControllerを強制的にLandscapeのすべてのムービーを再生することができます。 私はXcode 4を使用していて、iOS 4.0+用にビルドしています。 MPMoviePlayerControllerをランドスケープで再生できるようにするには、info.plistにいくつかの設定を入力する必要がありますか?MPMoviePlayerControllerをランドスケープで再生するように強制する

MPMoviePlayerController *theMovie = [[MPMoviePlayerController alloc] initWithContentURL: url]; 
[self.view addSubview:theMovie.view]; 
theMovie.allowsAirPlay=YES; 
[theMovie setFullscreen:YES animated:YES]; 
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myMovieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification object:theMovie]; 
[theMovie play]; 

答えて

6

埋め込み、それ自身のビューコントローラでのプレイヤーと次のようにshouldAutorotateToInterfaceOrientationを実装します:ここで

は、私はMPMoviePlayerControllerを初期化するために使用するコードです

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation 
{ 
    return UIInterfaceOrientationIsLandscape(toInterfaceOrientation); 
} 
+0

これは私のために働いていない - 私は映画を提示ビューコントローラを持っており、その完全に風景モードではなく、映画はまだ肖像画で起動...アイデアを? –

0

MPMoviePlayerViewControllerのサブクラスを作成します。

@interface MyMoviePlayerViewController()

@end

@implementation MyMoviePlayerViewController 

- (BOOL)shouldAutorotate { return NO; } 
- (NSUInteger)supportedInterfaceOrientations { 
    return UIInterfaceOrientationMaskLandscape; 
} 

@end 
関連する問題