自定义容器中的UITabBarControler

时间:2014-07-11 18:53:33

标签: ios objective-c uitabbarcontroller

我一直试图在Container Controller中放置两个控制器。

First Controler

1)只是一个带有少量按钮的视图控制器

2)UITabBarController。

以下是代码段..

tabc = [[UITabBarController alloc] init];

hvc = [[HeaderViewController alloc] initWithNibName:@"HeaderViewController" bundle:nil];
[self addChildViewController:hvc];
[self.view addSubview:hvc.view];
[hvc didMoveToParentViewController:self];


bvc = [[BodyViewController alloc] initWithNibName:@"BodyViewController" bundle:nil];
bvc1 = [[Body1ViewController alloc] initWithNibName:@"Body1ViewController" bundle:nil];


UITabBar *tabBar = tabc.tabBar;
UITabBarItem *tabBarItem1 = [ tabBar.items objectAtIndex:0];
UITabBarItem *tabBarItem2 = [ tabBar.items objectAtIndex:1];

tabBarItem1.title = @"fruits";
tabBarItem2.title = @"vegs";

tabc.viewControllers = @[bvc,bvc1];


[self addChildViewController:tabc];
[self.view addSubview:tabc.view];
[tabc didMoveToParentViewController:self];

问题:

在标签视图控制器中,一次只能看到一个标签[即:第一个标签]

注意:我的错误,它显示了标签,但表格名称或标签的边界 不可见。它显示好像是相同的标签。如何解决这个问题?

我需要注意什么怪癖?。

1 个答案:

答案 0 :(得分:3)

这是一个奇怪的怪癖,已经咬了很多。标签栏控制器只能是根控制器,不能是容器的子控件。这是苹果公司的文档:https://developer.apple.com/library/ios/documentation/uikit/reference/UITabBarController_Class/Reference/Reference.html

感兴趣的部分是"标签栏控制器的视图"

奇怪的部分是它看起来好像可行,但奇怪的行为会在这里和那里出现。