Ipad UITableBar控制器自定义(重新定位tabbar)
我正在尝试在UITabbarController中重新定位选项卡栏。我知道这不是一个好主意,但这就是我被要求做的。我使用以下命令将选项卡栏移动到屏幕顶部:Ipad UITableBar控制器自定义(重新定位tabbar),ipad,ios,uitabbarcontroller,uitabbar,Ipad,Ios,Uitabbarcontroller,Uitabbar,我正在尝试在UITabbarController中重新定位选项卡栏。我知道这不是一个好主意,但这就是我被要求做的。我使用以下命令将选项卡栏移动到屏幕顶部: self.tabBarController.tabBar.frame = CGRectMake(0, 0, 768, 68); 而且效果很好。不幸的是,内容视图没有相应地重新定位 重新定位选项卡栏后,我添加内容视图并尝试手动调整,但没有任何效果: self.tabBarController.viewControllers = [NSArra
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设置为否
不过我还没有尝试过。我可以正确定位选项卡栏,但无法查看“内容视图”的其余部分。例如,我想我可以用tabController.viewControllers objectAtIndex:0获得它(对于第一个选定的控制器),但是修改帧值没有任何效果。我想你不明白我的意思。我建议您更改Tabbar控制器的视图框架。viewController的视图是该视图的子视图。试试这个:self.tabBarController.view.frame=CGRectMake(0,68320460)。我已经试过了,但它不起作用。更改tabbarcontroller视图背后的逻辑是什么?我假设tabbarcontroller由两个视图组成,tabbar和content视图。但情况似乎并非如此。viewController(如tabBarViewController)始终有一个子视图。它由视图属性访问。我假设选项卡栏(视图)是主视图的子视图。我的建议有用吗?还是你什么都看不见?您的视图层次结构是什么?(导航控制器?)好的,我现在明白你的意思了。移动属于选项卡栏控制器的视图似乎没有任何作用。事实上,无论我将哪个框架设置为tabbarController.view,它似乎总是为按钮栏保留底部。现在,视图层次结构非常简单。带有简单视图的Tabbar控制器,用于测试布局。。