iPhone:以编程方式将Tab Bar控制器添加到导航控制器

时间:2011-03-16 20:42:36

标签: objective-c uinavigationcontroller iphone

我正在开发一个iPhone应用程序,我开始使用基于导航的模板。 但是现在我想在底部添加一个Tap Bar控制器,我想在不使用Interface Builder的情况下这样做。谁能告诉我怎么做? 提前谢谢!

2 个答案:

答案 0 :(得分:2)

框架不支持此功能。

标签栏控制器只能按如下方式创建:

  • 直接在您应用程序的主窗口中。
  • 作为拆分视图界面中的两个根视图之一。 (仅限iPad)
  • 以模态方式呈现它以显示需要其自己的基于模式的组织的一些数据。
  • 从弹出窗口显示它。 (仅限iPad)

换句话说,标签栏控制器无法推送到导航控制器上。

更多信息:

http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/TabBarControllers/TabBarControllers.html#//apple_ref/doc/uid/TP40007457-CH102-SW1

答案 1 :(得分:1)

如果您问如何从导航控制器开始,然后允许用户导航到带有标签栏的视图,我会在我的iPad应用中执行此操作。如果您有兴趣了解我的应用程序如何使用标签栏,请转到我的个人资料中列出的网站。

虽然,我使用Interface Builder来完成它。在Interface Builder中,我创建了一种主视图,其中包含底部的tabbar控件和上面的“content”UIView。当用户通过视图进行选项卡时,“内容”视图以编程方式分配给用户感兴趣的视图。

我想你也可以在没有IB的情况下完成它。只需使用代码:

UITabBar *aTabBar = [UITabBar alloc] init];
[[self yourView] addSubview:aTabBar];

当然,您需要创建标签栏项目并为每个项目分配视图控制器。您可能还需要调整标签栏控件的布局参数,使其位于视图的底部。