Iphone 隐藏选项卡栏后视图大小减小

Iphone 隐藏选项卡栏后视图大小减小,iphone,objective-c,ios,xcode,cocoa-touch,Iphone,Objective C,Ios,Xcode,Cocoa Touch,在我的iPhone应用程序中 我正在uitabarcontroller中使用UINavigationControllers 比如: 选项卡栏: 导航控制器 视图控制器1 导航控制器 视图控制器2 来自上述任何视图控制器的视图控制器X 当我导航到视图控制器X时 我正在隐藏标签栏 问题在于选项卡栏被隐藏,但视图大小减小。 底部出现空白。 [self.tabBarController.tabBar setHidden:YES]; [self.tabBarController.tabBar

在我的iPhone应用程序中

我正在
uitabarcontroller
中使用
UINavigationControllers

比如:

选项卡栏:

  • 导航控制器

    • 视图控制器1
  • 导航控制器

    • 视图控制器2

来自上述任何视图控制器的视图控制器X

当我导航到视图控制器X时

我正在隐藏标签栏

问题在于选项卡栏被隐藏,但视图大小减小。 底部出现空白。

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


谢谢。

这可能会有帮助。在视图中将显示设置框架。

导航控制器的视图位于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;
...

隐藏选项卡栏后更改视图的框架:

CGRect *rect=view1.frame;
rect.size.height+=44;
view1.frame=rect;

只需在选项卡栏中包含的viewController上调用
loadView
。这将在tabbar hidden为false时重新加载具有适当大小的视图

,然后再次设置帧