如何在没有XIB的情况下将Tab Bar添加到现有视图控制器

时间:2010-03-22 13:40:34

标签: iphone xcode uitabbarcontroller

尽量避免使用Interface Builder

目前我通过代码创建了视图控制器,并通过代码更改了视图。

我现在需要执行将应用程序发送到 标签栏的新视图中的其中一个步骤,这样我也可以更改视图。

理想情况下,我要做的是告诉当前视图控制器在底部添加一个Tab Bar,但我不确定这是否可行,所以我可能不得不用UITabBarController交换UIViewController?

任何帮助将不胜感激。

干杯, 安德烈

1 个答案:

答案 0 :(得分:6)

我手边没有XCode所以我会尝试口头回答。

创建一个新的UITabBarController并将当前视图设置为root view,然后根据需要添加任意多个标签(每个标签都有自己的视图)。

<强>更新
在初始化控制器之后,定义一个视图数组(添加顺序很重要)。并在标签栏控制器上调用它

- (void)setViewControllers:(NSArray *)viewControllers animated:(BOOL)animated

更新2

这是一个创建带有两个空视图的标签栏的简单代码,每个视图都有自己的标签按钮。

tabBarController = [[UITabBarController alloc]init];

firstView = [[FirstView alloc] init];
UITabBarItem *item1 = [[[UITabBarItem alloc]initWithTitle:@"First" image:nil tag:1] autorelease];
[firstView setTabBarItem:item1];

secondView = [[SecondView alloc] init];
UITabBarItem *item2 = [[[UITabBarItem alloc]initWithTitle:@"Sec" image:nil tag:1] autorelease];
[secondView setTabBarItem:item2];

[tabBarController setViewControllers:[NSArray arrayWithObjects:firstView,secondView,nil] animated:NO];

[window addSubview:tabBarController.view];

当然这段代码不会有用,您需要手动创建视图,或者为每个视图创建一个nib文件并将其加载到initWithNibName

更新3
查看Stanford iPhone Course这是斯坦福大学的免费课程。讲师是Apple的员工。第7讲标题为导航&amp;标签栏控制器将为您提供良好的开端。