UINavigationController は rootViewController の値を返す。 UITabBarController は rootViewControllers に入ってる複数のコントーラの値を AND したものを返す。
UITabBarController とか UINavigationController の shouldAutorotateToInterfaceOrientation をオーバーライドすると思わぬ事故につながるのでやめよう。 例えば、UINavigationControllerをオーバーライドして全方向対応して、rootViewController がポートレートのみの対応だったりすると、画面遷移の時縦にめくれるなど不審な挙動をする。
UISplitView の左側のビューコントローラはshouldAutorotateToInterfaceOrientation で全方向対応しておかないと、現れない。