2

私のiPadアプリには、横向きモードをサポートするアプリのどこかに単一のビューが含まれています。

そのビューのshouldAutorotateToInterfaceOrientationを呼び出すには、 info.plistでランドスケープがサポートされていることを宣言する必要がありました。

問題:

アプリの起動時に表示されるUITabControllerはランドスケープモードをサポートしていないため、すべてのタブバーのビューコントローラーで指定するようにしました。ただし、デバイスが横向きモードのときにアプリを起動すると、タブコントローラーが横向きで表示され、すべてのタブが歪んで表示されます。

ポートレートモードのみをサポートするようにinfo.plistを設定すると、アプリが正しく起動しますが、回転可能なビューコントローラーではshouldAutorotateToInterfaceOrientationが無視されます。

起動時に試したもう1つのオプションは次のとおりです。

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait];

これにより、実際にはアプリが縦向きで表示されるようになりましたが、回転可能なビューコントローラーでのデバイスの回転をアプリが無視するようになりました。

更新: これはiOS6の問題のみであり、シミュレーターで見つけることはできません

4

1 に答える 1

2

このiOS 6 ローテーションを確認してください: supportedInterfaceOrientations が機能しませんか?

TabBarController をサブクラス化し、その shouldAutoRotateToInterfaceOrientation をオーバーライドして、この ViewController 自体の向きを制御する必要があります。

于 2012-10-05T17:14:59.813 に答える