自从我更新到iOS 7.1后,选项卡的大小调整为(74像素)不再适用:
[[tabBarController.view.subviews objectAtIndex:0] setFrame:CGRectMake(0, 0, 320, screenSize.height-73)];
[tabBarController.tabBar setFrame:CGRectMake(0, screenSize.height-73, 320, 74)];
此代码会导致标签向上移动,但下面会显示一些空白区域。
任何人都可以解决这个问题吗?
答案 0 :(得分:14)
如果您更改UITabBar
子类viewDidLayoutSubviews
中UITabBarController
的大小,则调整大小适用于iOS 7和7.1。以我的代码为例:
- (void)viewDidLayoutSubviews
{
CGFloat tabBarHeight = 39.0;
CGRect frame = self.view.frame;
self.tabBar.frame = CGRectMake(0, frame.size.height - tabBarHeight, frame.size.width, tabBarHeight);
}
答案 1 :(得分:1)
这是我目前使用的,我已经从标签栏中删除了图像,然后我添加了这一段代码来定位文本,我认为第二行已经过时但我还是保留了它。 for语句将文本放在栏中,因此你可以调整修改-25值,30是我的标签栏高度的大小。酒吧的其余部分在技术上是隐藏的"在屏幕下。
self.tabBar.frame = CGRectMake(0, screenHeight - 30, screenWidth, 30);
self.view.frame = CGRectMake(0, screenHeight - 30, screenWidth, 30);
for (int i = 0; i < self.tabBar.items.count; i++)
{
[[self.tabBar.items objectAtIndex:i] setTitlePositionAdjustment:UIOffsetMake(0, -25)];
}