iOSで画面回転時に TabBar を出し入れする方法

UITabbarController を使ったアプリケーションで、あるタブが選択されている時だけ画面の回転をサポートしている。
その画面が Landscape になった時に、縦方向の画面が狭いので TabBar を消そうと思ったのだけど、self.tabBarController.tabBar.hidden = YES; じゃ消えた部分が白くなってしまった。

というわけで、あれこれ調べてみたらそれっぽい動作ができたのでメモ。