参考这个帖子中(http://www.cocoachina.com/bbs/simple/?t82830.html)的回答,顺利解决了修改tabbar的高度。
1.在创建了UITabBarController之后,先把UITabBar 设置成了 (0 440; 320 40),然后输出 NSLog(@"%@",[self.view subviews]);
一般会返回类似这样的结果 (
"<UITransitionView: 0x18dfb0; frame = (0 0; 320 431); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x192610>>",
"<UITabBar: 0x192ac0; frame = (0 440; 320 40); hidden = YES; autoresize = W+TM; layer = <CALayer: 0x192ba0>>"
)
2.这时你会发现UITransitionView的 frame = (0 0; 320 431),那么其实那个间隙的高度就是440-431=9,只要把UITransitionView的frame设置成 (0 0; 320 440)就行了。
3.因为一般刚创建UITabBarController时,只包含上面那两个View,所以可以
for(UIView *view in self.view.subviews){
if(![view isKindOfClass:[UITabBar class]]){
view.frame = CGRectMake(0, 0, 320, 440);
break;
}
}