我最近找到了JCMSegmentPageController ,它提供了 UITabBarController 的功能,在顶部使用分段控件而不是在底部使用标签栏。
我打算在即将进行的项目中使用它,但发现无法将它连接到 Storyboard中。
我考虑过解决问题的不同可能性,因为目前无法创建关系序列:
- 使用 UITabBarController 子类的包装器对象来“窃取” View Controller 关系
- 使用 IBOutletCollection 和占位符对象
- 使用自定义 segue,它不会在 Controller 之间切换,而是转换 View 以适应“父级”并将其提供给嵌入
但是,所有这些对我来说似乎都或多或少有点老套,我想寻求一个更优雅的解决方案?
最佳答案
帕特里克
我将它与 Storyboard一起使用的方式如下所示:
我创建包含的 View Controller ,并且不设置 segue 关系。在下图中,最左边的 VC 是一个 JCMSegmentPageController 子类。右边的另外两个是包含的 VC。
然后我为每个包含的 VC 分配一个唯一的 ID,在本例中为 EvstEveryJourneyTableView 和 EvstFollowingJourneyTableView。
最后,我使用 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/