4

在我的 iPhone 应用程序中。

我正在使用UINavigationControllers.UITabBarController

像:

标签栏:

  • 导航控制器。

    • 查看 Controller1。
  • 导航控制器。

    • 查看控制器 2。

从上述任何视图控制器查看 Controllerx。

当我导航到 View Controllerx.

我隐藏了标签栏。

问题是标签栏隐藏但视图大小减小。底部出现空白。

[self.tabBarController.tabBar setHidden:YES];
[self.tabBarController.tabBar setFrame:CGRectZero];
[self.navigationController pushViewController:obj_tipcalc animated:YES];
[obj_tipcalc release];

在此处输入图像描述

谢谢。

4

4 回答 4

8

您的导航控制器的视图位于您的 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;
...
于 2012-06-20T06:44:38.233 回答
0

这可能会有所帮助。在 ViewwillAppear 中设置框架。

于 2012-06-20T06:41:05.853 回答
0

隐藏标签栏后更改视图的框架:

CGRect *rect=view1.frame;
rect.size.height+=44;
view1.frame=rect;
于 2012-06-20T06:45:30.740 回答
0

只需调用loadViewTabBar 中包含的 viewController。这将以适当的大小重新加载视图

于 2018-05-03T15:52:26.890 回答