ios - 如何将 JCMSegmentPageController 与 Storyboard一起使用?

标签 ios uitabbarcontroller storyboard relationship

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

我打算在即将进行的项目中使用它,但发现无法将它连接到 Storyboard中。

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

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

但是,所有这些对我来说似乎都或多或少有点老套,我想寻求一个更优雅的解决方案?

最佳答案

帕特里克

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

Using JCMSegmentPageController in storyboard

我创建包含的 View Controller ,并且不设置 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];
}

关于ios - 如何将 JCMSegmentPageController 与 Storyboard一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10723434/

相关文章:

ios - 使 View Controller 不在选项卡式 View 中

ios - 如何使用swift在sprite kit中旋转sprite

ios - 从核心数据中删除对象并切换 View Controller 时崩溃

ipad - UITabBarController 中的 UIViewController 和 UISplitViewController shouldAutorotateToInterfaceOrientation

swift - 从 UITabBar 中删除灰色渐变

ios - 使用 Storyboard 将单元格标题传递给详细 View

ios - 从 CoreData 中解包 Date() 类型的选项?

ios - UIButton 修改 titlelabel 似乎改变了它的框架

objective-c - 仅在第二次加载 View 时运行函数

iOS:使用 Storyboard在两个 UITableViewController 之间传递数据