如何在Storyboard中使用JCMSegmentPageController?

时间:2012-05-23 15:42:15

标签: ios uitabbarcontroller storyboard relationship

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

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

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

  • 使用一个包装对象,该对象将UITabBarController子类化为"窃取" view-controllers-relationship
  • 使用IBOutletCollection和占位符对象
  • 使用自定义segue,它不会在控制器之间切换,而是转换视图以适应父母"并提供嵌入

但是,所有这些对我来说似乎或多或少都是hackish,我想要求更优雅的解决方案?

1 个答案:

答案 0 :(得分:1)

帕特里克

我将它与故事板一起使用的方式如下所示:

Using JCMSegmentPageController in storyboard

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

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

Setting the identifier for the 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];
}