は論理的のようなカテゴリにあなたのストーリーボードを占うようにしてください
私は、UIStoryboard
が10以上UIViewControllers
であり、さらにContainerViews
であった。ビューをレイアウトし、より多くのものをカスタマイズした後、UIStoryboard
はますます怠け者になりました。
私のアプローチは、単一の内部でビューをセットアップすることでしたUIStoryboards
。
はメニューをロードし、IループNSArray
を経て:コントローラをロードすることは、私のメニュー、IセットアップもUIStoryboard
内部セットアップする必要がUIViewController
ためのすべての識別子とNSArray
内で行われています特定のUIStoryboard
の識別子でUIViewControllers
をロードします。これは私が異なるUIStoryboards
ため、スイッチを実装するために必要な場所である:私の場合は
self.arrayVCAll = [NSMutableArray new];
for (NSArray *array in _arrayViewControllerAll){
NSMutableArray *arrayTemp = [NSMutableArray new];
for (UIViewController *vc in array){
NSString *strViewController = [NSString stringWithFormat:@"%@", vc];
UIStoryboard *storyboard;
if([strViewController isEqualToString:@"CustomOneStoryboard"]){
storyboard = [UIStoryboard storyboardWithName:@"FirstVC" bundle:nil];
} else if([strViewController isEqualToString:@"CustomTwoStoryboard"]){
storyboard = [UIStoryboard storyboardWithName:@"SecondVC" bundle:nil];
} else {
storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
}
UIViewController *controller = [storyboard instantiateViewControllerWithIdentifier:strViewController];
MyNavController *nav = [[MyNavController alloc] initWithRootViewController:controller];
[arrayTemp addObject:nav];
}
[self.arrayVCAll addObject:arrayTemp];
}
、私のUIViewControllers
から初期UINavigationController
を分離した後seguesとだけ問題がありました。 UINavigationController
の初期値がない場合、セグはnavigationControllerにプッシュされません。それでUIStoryboardSegue
が正しく行われるように、それぞれUIViewController
(私のNSArrayの)にUINavigationController
を追加しました。 UINavigationController
もクラスに接続する必要はなく、UIStoryboard
の中に含めて、最初のUIViewController
に接続するだけです。
あなたはすでにあなたの問題を解決しましたか?たぶん正しい答えを –
と書いてもいいですか?痛みを感じるのは150-VCです。-s –