2

こんにちは、私はスプラッシュ スクリーンをランドスケープ モードで表示し、他のすべてのスクリーンをポートレイト モードで表示したいと考えています。ルート ビュー コントローラーがスプラッシュ スクリーンとして機能しています。viewdidload メソッドでこのコードを記述しています。

[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationLandscapeRight]; 

しかし、このコードは機能しておらず、UIdevice が setorentation に応答しない可能性があることを示しています。最初のスプラッシュ スクリーンのみの方向を変更し、他の画面もポートレイト モードにする方法を教えてください。

4

2 に答える 2

8

UIDeviceOrientationデバイスの物理的な向きをUIInterfaceOrientation指し、ユーザー インターフェイスの向きを指します。デバイスの物理的な向きは変更できませんが、ステータス バーの表示方法は変更できます。[UIApplication sharedApplication].statusBarOrientation

于 2010-06-02T05:00:27.457 に答える
2

横向きに表示されるスプラッシュ スクリーンをそのまま使用することはできませんか?

ユーザーはそれを「ランドスケープ」スプラッシュとして解釈し、それに応じて調整します。これは、アプリケーションが実際にそうであると考えているかどうかに関係ありません。ユーザーが回転させたときに回転しないようにNO、必ず元に戻してください。shouldAutorotateToInterfaceOrientation:

ただし、警告: スプラッシュ スクリーンを調整して縦向きにすることはおそらく価値があります。これは、アプリが横向きであることをユーザーに提案し、実際に起動するとすぐに縦向きに切り替えるのは煩わしい場合があるためです。

ただし、本当に必要な場合は、上でsetStatusBarOrientation:animated:UIApplicationを使用して向きを強制することができます。

于 2010-06-02T04:54:20.637 に答える