我定期UITabBar
并将其背景图片更改为自定义图片,其高度较低,因此我更改了height
的{{1}}。
我首先得到的是标签栏下方的空白区域。所以我也更改了frame
的{{1}}。但现在空白区域已经向上移动到标签栏上方,这就是结果:
这是在AppDelegate中声明标签栏的代码:
origin
我想问题是frame
s将自己绘制在常量空间之上,这是常规标签栏的高度。有没有办法改变它?
答案 0 :(得分:7)
将您的UITabBarController的子视图更改为完整大小的框架,这对我有用:
[[yourTabBarController.view.subviews objectAtIndex:0] setFrame:CGRectMake(0, 0, 320, 480)];
答案 1 :(得分:7)
尝试创建从UITabBar扩展的类,并使用此函数:
- (CGSize)sizeThatFits:(CGSize)size {
CGSize auxSize = size;
auxSize.height = 54; // Put here the new height you want and that's it
return auxSize;
}
这会将UITabBar的大小调整为您想要的大小。简单易行。
答案 2 :(得分:0)
如果像@JoaT那样更改框架不起作用,请确保视图控制器的视图具有正确的自动调整遮罩集。
此SO链接可能会有所帮助。
答案 3 :(得分:0)
我尝试通过更改tabbar的高度和原点,对我来说它工作正常。你可以尝试增加viewcontroller的高度。