UIStoryboard + UITabBarController +单独的故事板

时间:2012-12-09 18:19:22

标签: objective-c ios uitabbarcontroller uistoryboard

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

如果使用iOS9,可以在UITabbarController的一个选项卡中选择所有视图控制器,选择编辑器 - >在XCode中重构到Storyboard,并创建一个新的Storyboard。 XCode将自动执行其他所有操作。不幸的是,它仅适用于iOS 9。