これは重複した質問ではありません。最終的な実用的な解決策はまだ提供されていないため、回答を受け入れるか、独自の100%実用的な解決策を見つけて提供するまで、この質問を閉じないでください。ありがとう!
================================================== ================
Xcode 4.5.1を使用すると、5つのタブが含まれるタブバーアプリがあります。各タブにはUINavigationControllerが含まれているため、アプリ全体をポートレートモードで表示する必要があります。例外が1つあります。それは、「画像ギャラリー」タイプのビューコントローラであり、開いて全画面表示する必要があり、ランドスケープモードで表示する必要があります。
iOS5では、特定のViewControllerで次のコードを使用してこれを簡単に行うことができました。
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
ただしshouldAutorotateToInterfaceOrientation
、iOS6では非推奨になり、機能しなくなりました。
したがって、これをiOS6で機能させるために、これまでに次の手順を実行しまし
た。1)UITabBarController(rootViewController)のサブクラスを作成しました。2)とを
設定します (ただし、メソッドを実装していないことに注意してください)。 3 )
PROJECT / Targetでサポートされている向きをALLに設定し
ます。このALMOSTは完全に機能します。「ImageGallery」ViewControllerは、両方のランドスケープモードに応答しますが、最初はPortraitで開きます。これは問題です。横向きで開く必要があります。縦向きで表示することはできません。今はまだ両方をやっています。supportedInterfaceOrientations
preferredInterfaceOrientationForPresentation
UIInterfaceOrientationMaskPortrait
shouldAutorotate
なぜそれを行うのか、またはそれを修正する方法はありますか?