将标签栏控制器添加到UISplitViewController的根视图?

时间:2011-04-05 22:46:34

标签: iphone uitabbarcontroller uisplitviewcontroller

如何在拆分视图中将UITabBarController及其所有单独的视图控制器设置为根视图? IB似乎没有让我将根视图控制器的类改为其他任何东西......我正在使用Xcode 4.

3 个答案:

答案 0 :(得分:2)

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

如果您希望DetailView显示相同的内容,您还必须在detailview中添加一个navigationcontroller。

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

答案 1 :(得分:2)

您希望在rootview端将tabbarcontroller添加到拆分视图,这非常简单。 使用xib for ipad创建尽可能多的viewcontrollers子类,因为你想放入tabbarcontroller。

  • 然后展开你的splitview,你有两个东西navigationcontroller(它依次包含rootview控制器),detailview控制器(右侧视图)。
  • 打开你的库只需将tabbar controller直接拖到navigationcontroller上,这样它就会取代所有导航控制器和rootviewcontroller(我假设你不需要那个rootview控制器,或者你以后可以创建它)。
  • 现在展开这个tabbar控制器你可以看到viewcontroller 1 - viewcontroller 2等。
  • 现在只需选择视图控制器1,打开属性并在[命令1属性]上选择nib文件,然后按[命令4属性]选择该nib文件的控制器文件。
  • 为tabbarcontroller中的视图控制器2重新计算此内容并保存关闭IB。 运行程序选择横向然后你可以看到它完成。

答案 2 :(得分:2)

感谢dh14-sl和lecou-解决方案是你的答案的组合。我试图将一个标签栏控制器从库中拖到元素列表上,但它没有工作 - 结果我不得不将它拖到视图本身。然后我不得不更改rootvc的父类并重新设置连接,但现在它似乎工作了!谢谢你们!