UITabBarController も回転するかどうか答えてた!

そんなわけで、どうなってるんだろう?と調べてみたら

-[UITabBarController _doAllViewControllersSupportInterfaceOrientation:]

こんなん呼んでた…。
”たぶん”、各 tab の表示されてる UIViewController に - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation を問い合わせて、全部の tab で YES にならないと回転しないんだと思う。


確かにどこかで見た記憶がなんとなくあるし、自分の過去のコードでも今表示されてるviewを考慮して、それぞれの tab の UIViewController の - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation で値を返してた。(ある画面だけ回転させたくて、その画面が表示されてる時だけ他の tab でも YES にしていた。)


というわけで、全部の tab の UIViewController からもちゃんと値を返したら回転した〜!