我需要我的视图控制器坐在我的标签栏后面

时间:2011-11-22 17:36:23

标签: iphone sdk tabbar

我有一个视图控制器,但是当我隐藏标签栏时,标签栏只有一个黑色空间。我希望我的视图控制器位于标签栏后面,所以当我隐藏它时,它会显示视图内容。我正在使用一个简单的UITabBarController。感谢。

3 个答案:

答案 0 :(得分:1)

据我所知,你不能这样做。问题是视图控制器位于标签栏控制器内,而不是相反。

解决这个问题的方法是在没有标签栏控制器的情况下更改新导航控制器的窗口视图,或者使用模态视图在没有标签栏控制器的情况下显示内容。

答案 1 :(得分:1)

问题是您的视图控制器上的视图不够高,无法容纳标签栏占用的空间。

CGRect current = [[self view] frame];
CGRect tabBarFrame = [[self tabBar] frame];

CGRect newFrame = CGRectMake(current.origin.x, current.origin.y, current.size.width, current.size.height + tabBarFrame.size.height);

[[self view] setFrame:newFrame];

这样的事情可能就是你想要的。或者您可以在IB中调整大小。

但是,我不知道为什么你会使用UITabBarController然后隐藏标签栏...如果你看不到标签栏,你就不能切换标签...因此使UITabBarController几乎只是一个的UIViewController。

答案 2 :(得分:0)

我相信如果你给你的UIViewController的view属性一个固定的底部边距和一个灵活的高度,那么它将拉伸以自动填充包含视图的高度。

mycontroller.view.autoresizingMask = UIViewAutoresizingFlexibleHeight