我尽量避免使用Interface Builder 。
目前我通过代码创建了视图控制器,并通过代码更改了视图。
我现在需要执行将应用程序发送到 标签栏的新视图中的其中一个步骤,这样我也可以更改视图。
理想情况下,我要做的是告诉当前视图控制器在底部添加一个Tab Bar,但我不确定这是否可行,所以我可能不得不用UITabBarController交换UIViewController?
任何帮助将不胜感激。
干杯, 安德烈
答案 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;标签栏控制器将为您提供良好的开端。