私はiosで自動回転の実装について混乱しています。
私はUIViewControllerを持っており、それをshouldAutoRotateToInterfaceOrientation内で自動回転するように指示します。ただし、動作しません。 これは、すべての種類の混乱(手を挙げる)を引き起こすことが知られているため、ナビゲーションスタックと/またはUITabBarControllerが使用されたかどうかを調べる方法について何かを読んでいます。ios5での自動回転 - 失敗する最も一般的な理由
実際、私はUITabBarとUINavigationControllerを持っています。私が回転させたいUIViewは、3つまたは4つの 'レベル'のスタックにプッシュされています。
なぜ、現在のUIViewController内でshouldAutoRotateToInterfaceOrientationが返すものによってのみ自動回転が決定されないのですか?
に位置リンゴの技術ドキュメントから:あなたのUITabBarControllerやUINavigationControllerのすべての子ビューコントローラは、共通の方向に同意しない
は、すべてのあなたの子供のビューコントローラが正しく回転していることを確認します。その回転が発生するのと同じ向きでそれぞれ が一致しなければなりません。つまり、 は、すべて同じ向きの位置に対してYESを返す必要があります。:あなたはそれを期待するときのUIViewControllerのに回転しない理由についてhttps://developer.apple.com/library/ios/#qa/qa2010/qa1688.htmlセット。あなたはそれぞれのタブやナビゲーションのレベルを表す各 ビューコントローラのshouldAutorotateToInterfaceOrientationを実装する必要があります
UITabBarsとUINavigationControllersを使用する際に注意すべき事実を要約できますか?人々は一般的にどこが混乱しているのですか、何か厄介な点は何ですか?
UITabBar、UITabBarController、またはUINavigationControllerがある場合、すべての子ビューは同じ自動回転動作を持つ必要があります。しかし確かにあなたはいくつかの子ビューを回転させることができ、他は回転させないことができます。
私は失敗の一般的な理由は、自動回転に適用されるので十分にレスポンダーチェーンを理解していないと思うと思う。もしそうなら、誰かが私のためにこれをクリアすることができますか?次に、私は「選択的な自動回転」を理解することができるかもしれません。
これを追加するには、UITabBarControllerをサブクラス化してshouldAutorotateToInterfaceOrientationを上書きする必要があることを示す他の投稿があります。 UITabBarControllerやUINavigationControllerに接続