2011-04-05 113 views
3

我该如何设置一个UITabBarController及其所有视图控制器作为分割视图中的根视图? IB似乎没有让我将根视图控制器的类更改为其他任何内容......我使用的是Xcode 4.将选项卡栏控制器添加到UISplitViewController的根视图?

+0

你有没有尝试在appdelegate中以编程方式设置?我在这里没有我的Mac,所以我现在不能写一个完整的答案:\ – 2011-04-05 23:00:02

+0

嗯......编程建立一个标签栏将是一个痛苦。我不太清楚如何... – FeifanZ 2011-04-05 23:35:23

+0

UITabBarController * tabBarController = [[UITabBarController alloc] init]; tabBarController.viewControllers = [NSArray arrayWithObjects:controller1,controll2等,nil];是一个开始;)我将在明天开始工作(咯咯笑)时检查! – 2011-04-05 23:38:09

回答

2

感谢dh14-sl和lecou-解决方案是您的答案的组合。我试图将一个标签栏控制器从库中拖到元素列表中,但它不起作用 - 事实证明我必须将它拖到视图本身。然后,我不得不改变我的rootvc的父类,并重新建立连接,但现在它似乎工作!多谢你们!

+0

你是如何重新建立连接的?通过拖动到视图,你的意思是把它拖到MainWindow? – aherlambang 2011-05-11 12:50:50

2

您是否使用基于分割视图的应用程序选项?在这种情况下,它适用于我扩展:RootViewController.h文件中的UITabBarController。我不确定你想在这里做什么样的行为,但是如果你这样设置它,你应该在“root”选项中使用所有视图的tabbar(你必须将它们添加到RootViewController.m ofc中)导航栏。

如果您希望DetailView显示相同,您还必须将一个navigationcontroller添加到detailview。

至于IB的“更优雅”解决方案,恐怕我不是很喜欢IB或者非常有经验。

2

你想在rootview端添加tabbarcontroller到你的分割视图,它非常简单。 创建尽可能多的视图控制器与ipib的xib的子类,因为你想放入tabbarcontroller。

  • 然后展开你的splitview,你有两件事navigationcontroller(它反过来包含rootview控制器),detailview控制器(右侧视图)。
  • 打开你的图书馆只是拖动tabbar控制器exectly到navigationcontroller,所以它会取代所有的导航控制器和rootviewcontroller(我假设你不需要该rootview控制器或ü可以在以后创建它)。
  • 现在展开此的TabBar控制器u能看到的ViewController 1 - 的ViewController 2等
  • 现在只需选择视图控制器1,开放的属性和选择上[1个命令属性]和选择控制器文件用于通过按该笔尖文件笔尖文件[命令4属性]。
  • 在tabbarcontroller中为视图控制器2重新设置此值并保存关闭IB。 运行程序选择风景然后你可以看到它完成。
+0

ü甚至可以将更多的类添加到标签栏只是打开库,并拖拽viewcontroller到你之前创建的tababrcontroller,当你展开tabbar时,它会显示viewcotroller + tabbaritem然后只是打开viewcontroller的属性选择nib n cotroller文件,保存关闭IB 。 – Dhawal 2011-04-08 09:00:04

相关问题