私はUITabBarControllerを持つアプリケーションを持っていますが、各タブにはUINavigationControllerが添付されています。ここでは、タブ1,2および4のnavigationControllersのrootViewControllersがポートレートの向きのみをサポートし、ポートレートに回転するように要求されたときにのみYESを返すような "shouldAutorotateToInterfaceOrientation"実装を持つと仮定します。しかし、タブ3には、ナビゲーションコントローラに、横向きの向きをサポートするいくつかのviewControllerがあります。タブの変更時に自動回転が無視される
私は現在タブ3にいて、ランドスケープをサポートするviewControllerの1つに移動すると、デバイスを回すことができ、インターフェイスがランドスケープに変わります。しかし、風景モードのインターフェースでタブ1,2,4を押した場合、表示されたviewControllerが明示的にポートレートのみをサポートしているにもかかわらず、インターフェースはポートレートに戻っていませんが、ランドスケープにとどまります。
私が紛失しているかどうか、またはこれが意図された動作であるかどうかは不明ですが、tabBarController経由でポートレートのみのviewControllerに切り替えると、インターフェイスの向きをポートレートに戻したいと思います。階層全体がプログラムによって構築されます。
ありがとうございます!
うーん私はいくつかのテストを行なったし、カテゴリ内の私のshouldAutorotateToInterfaceOrientationメソッドがありませんでしたデバイスを回転させずにタブを切り替えるときに呼び出されます(意味があります)。手でそれを呼びますか? – Robin
いいえ、私はそれを私自身と呼んでいませんでした。 – Pacu