UITTabBarController自定义(重新定位tabbar)

问题描述:

我想重新定位UITabbarController中的标签栏。我知道这不是一个好主意,但那是我被要求做的。我设法将TabBar移动到屏幕顶部:UITTabBarController自定义(重新定位tabbar)

self.tabBarController.tabBar.frame = CGRectMake(0, 0, 768, 68); 

它工作的很好。不幸的是,内容视图不会相应地重新定位。

我重新定位标签栏后,我添加了内容视图,并尝试手动调整,但它没有任何效果:

self.tabBarController.viewControllers = [NSArray arrayWithObjects: 
     [[[HomeViewController alloc] initWithNibName:nil bundle:nil] autorelease], 
     nil]; 
// dummy values for testing. 
self.tabBarController.selectedViewController.view.frame = CGRectMake(0, 69, 10 , 10); 

我在做什么错?

如何将tabBarController.view的框架向下移动68像素? 您必须将tabBar的框架的y坐标设置为-68而不是0.

如果看不到tabBar,则可能必须将tabBarController.clipsToBounds设置为NO。

虽然没有尝试过。

+0

我可以正确定位tabbar,但我无法得到“内容视图”的其余部分。我想我可以用tabController.viewControllers objectAtIndex:0(例如对于第一个选定的控制器)来获得它,但修改框架值没有任何影响。 – EightyEight 2011-02-03 01:10:15