したがって、私たちは横向きの向きのみをサポートするiPad Appをビルドします。これはplistのSupported interface orientations (iPad)
をLandscape (left/right home button)
に設定することによって強制されます。また、すべてのUIViewControllers
は、次のようにshouldAutorotateToInterfaceOrientation:
を実装している:これは正常に動作し、アプリケーションが横向きでロックされているMPMoviePlayerControllerは、フルスクリーンモードの後にアプリケーションを不正な向きにします
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}
。今私たちの意見の1つに埋め込まれたMPMoviePlayerController
があります。ユーザーがこの映画でフルスクリーンになると、彼は肖像画に回転することができます。ムービープレイヤーはすべての風景設定をバイパスしているようです。それは私にとっては大丈夫ですが、ユーザーがdone
ボタンをタップしても縦向きの場合、私たちのUIViewControllers
もすべて肖像画に見えてひどく見えます!
ユーザーはiPadを回転させて自分自身を景色にして、再び見栄えを良くしてから、意図したとおりに元に戻すことができなくなります。
shouldAutorotateToInterfaceOrientation
がiOSにポートレートに回転しないように指示しても、私のビューがポートレートに回転されるのはなぜですか?ムービープレイヤーが自分の意見を回転させないようにするにはどうすればよいですか?
ソリューションでもムービープレイヤー自体がランドスケープでロックされている場合は、それは問題ありません。私の意見が回転しない限り、私は幸せです! :)
MPMoviePlayerControllerをサブクラス化し、shouldAutorotateToInterfaceOrientationをオーバーライドしてみましたか?他のビューコントローラと一致するようにしましたか? –
'MPMoviePlayerController'クラスで呼び出される' shouldAutorotateToInterfaceOrientation: 'はありません。 'MPMoviePlayerViewController'には1つのみがありますが、それを上書きするのは助けになりません。ムービープレイヤーを強制的に横向きにすることはできないようです。 –
私はMPMovePlayerViewControllerを意味しました。私の指はメッセージを受け取っていませんでした。 MPMoviePlayerViewControllerはUIViewControllerから継承し、UIViewControllerにはshouldAutorotateToInterfaceOrientation:メソッドがあります。これはMPMoviePlayerViewControllerのサブクラスでオーバーライドできるはずです。私はそれを試す時間がありませんが、それは試してみる価値があると思います。 –