XcodeでUITabbarの高さを変更すると隙間ができる問題

最近Objective-Cを触ってばかりのワンダです。

さて、Xcodeでアプリ開発中にTabbarの高さを変更したいということがありますが、

高さを変更した場合なぜか上部に隙間ができてしまったときの対処法をご紹介いたします。

 

UITabbarの高さの変更はsetFrameで行う

まずは通常通り高さを変更してあげます。

UITabbarのデフォルトの高さは49なので試しに30ほどに変更

[self.tabBar setFrame:CGRectMake(self.tabBar.frame.origin.x,self.view.frame.size.height-30,self.tabBar.frame.size.width,30)];

-(void)viewDidLoad内などで画面の下部に固定させてあげます。

 

高さを変更させてあげた後

[self.view setBounds:self.tabBar.bounds];

とさせてみて下さい。なぜか隙間が消えて画面ぴったりになります。

この原因がなぜそうなるのかわからないwww

 

おそらくはself.viewのboundsを変更することで自動調整されるのだと思うのですが、わかられる方おられましたら教えて下さい!!