【问题标题】:UITabBarController in Interface Builder [closed]Interface Builder中的UITabBarController [关闭]
【发布时间】:2014-01-26 17:54:45
【问题描述】:

是否有可能,如果可以,我如何在 appdelegate 类以外的类中使用 UITabBarController?

【问题讨论】:

  • 你可以像普通的 viewController 一样使用它,因为 tabBarController 继承自它。不行吗?
  • 你能说一下你想要完成什么,这样我的回答就可以更具体了

标签: ios interface-builder uitabbarcontroller


【解决方案1】:

由于UITabBarController 继承UIViewController,您可以像普通UIViewController 一样在AppDelegate 类之外使用它。问题是你想要完成什么。例如,您可以以模态方式呈现UITabBarController 或使用UINavigationController 将其推送到屏幕上。

【讨论】:

  • 这就是我正在做的事情:我创建一个新类并选择 tabbarcontroller 作为超类,它给了我 3 个新文件 .h .m .xib,然后我将 uitabbarcontroller 拖到屏幕上并连线它起来了,但是当我运行应用程序时,我只看到空白视图。我没有看到我添加的 tabbarcontroller???
  • 更多信息。我正在使用 uinavigation 控制器作为我的根视图控制器
  • 根据 Apple 的文档,UITabBarController 不能是另一个视图控制器的子视图控制器。因此,您不能将 UITabBarController 推送到 UINavigationController。但是,您可以在 UITabBarController 中有一个 UINavigationController。您也可以像您在回答中所说的那样以模态方式呈现 UITabBarController。
  • 好的,让我再解释一下。我有一个可以左右滑动的滑动抽屉。导航控制器位于主抽屉上,上面有一个标签栏控制器。我在 appdelegate 中设置了导航栏控制器 + 标签栏控制器。但是,当我向左滑动时,我想在该视图的底部添加另一个标签栏控制器。这是可能的还是有太多不同的控制器?
【解决方案2】:

我假设您在AppDelegate 中定义了一个UITabBarController。如果你真的想用其他类的标签栏做某事(例如UIViewController),你可以像这样访问AppDelegate

[[UIApplication sharedApplication] delegate];

然后通过属性或方法您可以访问此标签栏。 More examples

【讨论】:

    【解决方案3】:

    好的,我找到了解决方法。我只是以编程方式添加了一个 uitabbarcontroller vs IB,一切都很好。感谢您的回复!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-11
      • 2013-08-13
      • 2011-04-15
      • 1970-01-01
      • 1970-01-01
      • 2015-01-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多