【问题标题】:UIStoryboard+UITabBarController+Separate storyboardsUIStoryboard+UITabBarController+单独的故事板
【发布时间】:2012-12-09 18:19:22
【问题描述】:

有一个主要的UIStoryboard 和一个UITabBarController,它有5 个项目,每个项目都足够大,可以由它自己的故事板实例来表示。我想将所有 5 个分成不同的故事板。换句话说,选择TabBarItem1 @ @时,我想从不同的故事板上加载它的相应UIViewController,可以实现这一目标吗?我正在考虑为此以编程方式创建UITabBarController,这会是最优雅的解决方案吗?

编辑 --

  NSMutableArray *viewControllers = [NSMutableArray array];

  MyViewController1 *myController1 = [[StoryboardManager myStoryboard1] instantiateInitialViewController];
  myController1.title = @"Title";
  [viewControllers addObject:myController1];

  MyViewController2 *myController2 = [[StoryboardManager myStoryboard2] instantiateInitialViewController];
  myController2.title = @"Title";
  [viewControllers addObject:myController2];
  // ...etc
  self.viewControllers = viewControllers; // self - subclass of a UITabBarController

【问题讨论】:

    标签: objective-c ios uitabbarcontroller uistoryboard


    【解决方案1】:

    您应该能够在代码中执行此操作,方法是获取其他故事板的实例,实例化它们的初始视图控制器,最后将它们添加到选项卡栏控制器视图控制器数组中。

    【讨论】:

    • @Eugene 你能用你是怎么做的代码来编辑你的问题吗?
    • @Eugene 谢谢!在我看来,StoryboardManager 实际上是 UIStoryBoard 上的一个类类别?
    • 这是NSObject 的子类,我用它来正确管理我的多个故事板。您可以使用storyboardWithName: 以通常的方式启动它们
    【解决方案2】:

    如果您使用iOS9,可以在UITabbarController 的一个选项卡中选择所有视图控制器,选择Editor -> Refactor to Storyboard in XCode,然后创建一个新的Storyboard。 XCode 将自动完成其他所有操作。不幸的是,它仅适用于 iOS 9。

    【讨论】:

      猜你喜欢
      • 2012-01-29
      • 1970-01-01
      • 2020-08-05
      • 2016-01-15
      • 2018-02-01
      • 2012-06-18
      • 2015-01-27
      • 2017-05-04
      • 2015-07-19
      相关资源
      最近更新 更多