UITabBarController, UINavigationControllerを使っているときに、TabBarやNavigationBarによって占有された残りのView領域の大きさを取得したい。
そう思って色々調べたもののなかなか見つからなかった。とりあえず高さ480からステータスバーで20、あとはNavigationBar, TabBarの高さがそれぞれ分かれば、、、と。
結局たどり着いたのは、UITabBarControllerのrotatingFooterView, rotatingHeaderViewを使う方法。
UITabBarControllerの中のUINavigationControllerの中のUIViewControllerからなら、
CGFloat navHeight = [[[self tabBarController] rotationgHeaderView] frame].size.height; CGFloat tabHeight = [[[self tabBarController] rotationgFooterView] frame].size.height;
とやればそれぞれ高さ(デフォルトだとNavigationが44, Tabが49)を取得できる。はず。