スクロールビューを含むビューを持つ通常のUIViewControllerであるGJClientSelectionControllerと、カスタムタブバーとそれぞれのコントローラーを管理するカスタムUIViewControllerであるCGClientDetailControllerの2つのメインコントローラーを持つアプリがあります。ユーザーがアプリの各部分間を移動すると、コントローラーを切り替えます。
問題は、正しい設計パターンが何であるかわからないことです。iOS6 までは、それぞれをウィンドウの rootViewController プロパティの値として設定していました。うまくいきましたが、デバイスを回転させてからコントローラーを切り替えると、新しく表示されたコントローラーは回転通知を受信せず、ユーザーがデバイスを回転させるまで間違って描画されます。また、masterController と呼ぶ通常の UIViewController を用意し、それを rootViewController として設定してから、他の 2 つのコントローラーを childViewControllers として追加することも試しています。唯一のことは、childViewController のビューを非表示にすると、回転通知が失われることです。
UIViewControllers 間を移動するための正しい設計パターンは何ですか? コントローラーとそのビューに切り替えたときに、コントローラーとそのビューの向きが正しいことを確認するにはどうすればよいですか?