在我的iPhone应用中。
我在UINavigationControllers
中使用UITabBarController
。
像:
标签栏:
导航控制器。
导航控制器。
从任何上述视图控制器中查看Controllerx。
当我导航到View Controllerx时。
我正在隐藏标签栏。
问题是标签栏正在隐藏,但视图大小会减少。 白色空间出现在底部。
[self.tabBarController.tabBar setHidden:YES];
[self.tabBarController.tabBar setFrame:CGRectZero];
[self.navigationController pushViewController:obj_tipcalc animated:YES];
[obj_tipcalc release];
感谢。
答案 0 :(得分:7)
您的导航控制器的视图位于UITabBarController的视图中,并且它不会填满整个屏幕。 只需尝试调整它的大小:
...
CGRect biggerFrame = tabBarController.view.frame;
biggerFrame.size.height += tabBarController.tabBar.frame.size.height;
tabBarController.view.frame = biggerFrame ;
...
要恢复原始布局:
...
CGRect smallerFrame = tabBarController.view.frame;
smallerFrame.size.height -= tabBarController.tabBar.frame.size.height;
tabBarController.view.frame = smallerFrame;
...
答案 1 :(得分:0)
它可能会有所帮助。在ViewwillAppear中设置框架。
答案 2 :(得分:0)
隐藏标签栏后更改视图的框架:
CGRect *rect=view1.frame;
rect.size.height+=44;
view1.frame=rect;
答案 3 :(得分:0)
只需在TabBar中包含的viewController上调用loadView
即可。这将重新加载具有适当大小的视图