很多人可能遇到过通过代码创建了一个UITabBarController,并设置了tabbar的高度为40,结果发现上方的view和下面的tabbar中间出现了一个间隙。调整view的frame也没有用,怎么能刷新一下页面把这个间隙去掉呢?
只改tabbar的frame是不够的,不要忘了同时要改这个UITransitionView的高度。即改变TabBar加载的viewControllers的显示View高度,如图:
代码如下:
// 改变tabBarController高度
UITabBarController *mTabBar = [[UITabBarController alloc] init];
mTabBar.tabBar.frame = CGRectMake(0, 460-40, 320, 40);
UIView * transitionView = [[mTabBar.view subviews] objectAtIndex:0];
transitionView.height = 460-40;