0

タブバー アプリケーションで MPMoviePlayerViewController を使用してビデオを表示します。ビデオはポートレート モードでは正常に再生されますが、ランドスケープ モードでは回転しません。

タブバーのない別のプロジェクトでは、同じコードが正常に機能します。

autoresizingmask を flexibleWidth と flexibleHeight に強制しようとしましたが、成功しませんでした。

shouldAutorotateToInterfaceOrientation で YES を返すと、ステータス バーは回転しますが、ムービー インターフェイスは回転しません。

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

    -(IBAction) showFamilleMovie {
     NSString *videoURL = [[NSBundle mainBundle] 
            pathForResource:@"film1" 
            ofType:@"mp4"];

     MPMoviePlayerViewController* theMoviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL fileURLWithPath:videoURL]];
        theMoviePlayer.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
     [self presentMoviePlayerViewControllerAnimated:theMoviePlayer];

    }

プロジェクトがどこから来たのか、何か考えがありますか?

ありがとう、ヴィンセント

4

2 に答える 2

1

あなたが試すことができます:

 [yourTabbarController presentModalViewController: theMoviePlayer]

これにより、MoviePlayer が回転できるようになります。

于 2010-10-24T10:48:45.570 に答える
1

私は同じ問題を抱えていましたが、そのコードキラーは appDelegate コードに追加されたビューでした。プレーヤーが適切に回転できませんでした。

私の問題は次のとおりでした: FBConnect ライブラリを実装するには、appDelegate にビューを追加して、handleOpenURL メソッドを使用している FB コントローラー クラスのオブジェクトを取得し (認証が完了したら Safari から戻る)、コールバックを制御する必要があります。このビューが回転を妨げていることに気付くまで、1 時間かかりました。

ところで、タブバーは気にしないでください。shouldAutorotateToInterfaceOrientation メソッドが追加されていなくても、プレーヤーは正しく回転するはずです。

于 2011-01-17T15:20:14.087 に答える