2012-06-20 30 views
3

在我的iPhone應用程序中。隱藏標籤欄後查看大小減少

我在UITabBarController中使用UINavigationControllers

像:

標籤欄:

  • 導航控制器。

    • 查看控制器1。
  • 導航控制器。

    • 查看控制器2。

查看從上述任何視圖控制器的Controllerx。

當我導航到視圖控制器x。

我隱藏標籤欄。

問題是標籤欄隱藏,但視圖大小減少。 底部出現空白。

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

enter image description here

感謝。

回答

6

您的導航控制器的視圖位於您的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; 
... 
+0

非常感謝。 –

0

這可能會有幫助。ViewwillAppear設置框架。

+0

嗯確定會嘗試。 –

+0

當tabbar隱藏爲false時,再次設置框架 –

0

更改視圖的隱藏的TabBar後的幀:

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