4つのタブを管理するタブバーコントローラーがあります。shouldAutorotateToInterfaceOrientation:メソッドでタブの1つにある特定のView Controllerのみが回転できるように、タブバーコントローラーをサブクラス化しました。すべてがほぼ正常に機能します。残りのタブのコントローラーは回転しません。ただし、回転が許可されているView Controllerが実際に回転する場合、ユーザーが残りのタブの1つをタップすると、対応するView Controllerも回転しているように見えます(shouldAutorotateToInterfaceOrientation:メソッドは明示的にNOを返します)。
これを防ぐにはどうすればよいですか?
明確にするために、ここに例があります。タブ0、1、または2をタップしてデバイスを回転させようとしても、何も起こりません(正しく)。タブ4をタップしてデバイスを回転させると、タブ4のビューコントローラに関連付けられているビューが(正しく)回転します。ここで、iPhoneを回転した横向きに保ち、別のタブ(0、1、または2)をタップすると、回転したビューが表示されます(これは正しくなく、回避しようとしています)。