2010-03-22 56 views
2

我是尽量避免使用Interface Builder如何在没有XIB的情况下将选项卡栏添加到现有的视图控制器

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

我现在需要的步骤之一发送到应用程序一个新视图与标签栏,这将让我改变看法也是如此。

理想情况下,我要做的是告诉当前的视图控制器添加一个标签栏的底部,但我不知道如果这是可行的,所以我可能不得不与UITabBarController交换UIViewController?

任何帮助将不胜感激。

干杯, 安德烈

回答

5

我没有手头上的XCode,所以我会尽量口头回答。

创建一个新的UITabBarController并将当前视图设置为root view,然后添加尽可能多的选项卡(每个选项卡都有自己的视图)。

UPDATE
init'ing控制器后,限定视图的阵列(加入是很重要的顺序)。并调用这个标签栏控制器

- (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]; 

当然这个代码不会是因为是有用的,你需要手动创建视图,或者为每个视图创建一个笔尖文件,并在initWithNibName

更新3
检查加载这Stanford iPhone Course,它从斯坦福大学的免费课程。讲师是苹果的员工。第7讲标题为导航&标签栏控制器将给你在这些组件上的良好开端。

+0

谢谢:)我已将它添加到视图中,它出现了,空白的画布和底部的空栏。 现在我想弄清楚如何告诉标签栏在白色画布上显示特定视图以及如何将4个按钮添加到底部的空白标签栏中。 – Andre 2010-03-22 14:01:26

+0

@Andres,更新答案 – medopal 2010-03-22 14:08:26

+0

我已将我的具体视图添加到白色画布。我正在使用:tabBarController = [[UITabBarController alloc] init]; \t \t [tabBarController setViewControllers:[NSArray arrayWithObjects:viewController,nil]]; viewController.view = step3;其中“step3”是我想要展示的视图。现在我只是试图添加实际的标签按钮和关联动作来改变视图 – Andre 2010-03-22 14:14:19

相关问题