ウィンドウのルートビューコントローラを設定するか、コントローラのサブビューをウィンドウに追加する必要があります。iOS 3以前をサポートしようとしているのでない限り、前者をサポートする必要があります。つまり、はい、[self.window setRootViewController:top];
必要です。
子コントローラーの自動ローテーションを有効にするには、次のような子ビューコントローラーのメソッドを使用する必要があります。
[_topViewController willMoveToParentViewController:self];
[self addChildViewController:_topViewController];
[self.view addSubview: _topViewController.view];
[_topViewController didMoveToParentViewController:self];
オーバーライドする必要があるかもしれません-[shouldAutomaticallyForwardRotationMethods]
が、デフォルトの実装ではYES
おそらくオーバーライドしないでしょう。