1

我最近发现了 JCMSegmentPageController,它提供了 UITabBarController 的功能,使用顶部的分段控件而不是底部的选项卡栏。

我打算在即将到来的项目中使用它,但发现无法将它连接到故事板中。

我已经考虑过解决问题的不同可能性,因为目前无法创建关系序列:

  • 使用 UITabBarController 子类的包装对象来“窃取”视图控制器关系
  • 使用 IBOutletCollection 和占位符对象
  • 使用自定义 segue,它不会在控制器之间切换,而是将视图转换为适合“父级”并将其提供给嵌入

但是,所有这些对我来说似乎或多或少有点骇人听闻,我想要求一个更优雅的解决方案?

4

1 回答 1

1

帕特里克

我将它与情节提要一起使用的方式如下所示:

在情节提要中使用 JCMSegmentPageController

我创建了包含的视图控制器,并且不设置 segue 关系。在下图中,最左边的 VC 是一个 JCMSegmentPageController 子类。右边的另外两个是包含的 VC。

然后我为每个包含的 VC 分配一个唯一的 ID,在本例中为 EvstEveryJourneyTableView 和 EvstFollowingJourneyTableView。

设置 ViewController 的标识符

最后我用instantiateViewControllerWithIdentifier来实例化它们,如下图:

- (void) viewDidLoad {
  EvstEverybodyJourneyTableViewController *jvc = [self.storyboard instantiateViewControllerWithIdentifier:@"EvstEveryJourneyTableView"];
    EvstEverybodyJourneyTableViewController *dvc = [self.storyboard instantiateViewControllerWithIdentifier:@"EvstFollowingJourneyTableView"];
  self.delegate = self;
    self.viewControllers = [NSArray arrayWithObjects:jvc, dvc, nil];
  [super viewDidLoad];
}
于 2012-05-23T16:06:50.833 回答