1

私のアプリは横向きモードに固定されていますが、viewDidLoad() および viewWillAppear() の間でさえ、次の縦向きの寸法が返されます。

self.view.bounds.size.width = 320.00
self.view.bounds.size.height = 480.00

実際の横長の寸法が得られるのは、viewDidAppear() までではありません。

self.view.bounds.size.width = 480.00
self.view.bounds.size.height = 320.00

これは奇妙だと思います。どうしてこうなった!? どうすればこれを修正できますか?

4

1 に答える 1

3

アプリのinfo.plistファイルで、次のキーを指定します。

 UISupportedInterfaceOrientations

左右の横向きの値:

ここに画像の説明を入力してください

編集

生のplistコードは次のようになります。

    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>

編集2

ステータスバーの初期方向を決定するこのキーも必要です。

 <key>UIInterfaceOrientation</key>
 <string>UIInterfaceOrientationLandscapeRight</string>

さらに、すべてのビューコントローラー(タブバー、ナビゲーションバー、通常のビューコントローラー)が実装されていることを確認する必要があります

 shouldAutorotateToInterfaceOrientation

ランドスケープ(左または右)の値を返します。

これは、このテーマに関するAppleドキュメントの記事です。

テクニカルノートTN2244

そして最後に、このトピックに関する他のSO投稿がいくつかあります: 投稿1投稿2。

于 2012-02-09T23:30:25.297 に答える