我有一个UIStoryboard
10 或更多UIViewControllers
和额外ContainerViews
的 . 在布局视图和自定义越来越多之后,UIStoryboard
变得越来越懒惰。
我的方法是在 single 中设置视图UIStoryboards
。加载控制器是在我的菜单中完成的,在那里我设置了一个NSArray
带有所有标识符的UIViewController
,也必须在里面设置UIStoryboard
:
加载菜单时,我循环访问NSArray
并UIViewControllers
从特定的UIStoryboard
. 这是我需要为不同的地方实现开关的地方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];
}
就我而言,在将首字母UINavigationController
与我的UIViewControllers
. 如果没有 initial ,segues 不会推送到 navigationController UINavigationController
。这就是为什么我UINavigationController
在每个UIViewController
(我的 NSArray)上添加了一个,以便UIStoryboardSegue
正确完成。UINavigationController
也不需要连接到类,只需将其包含在 中并将UIStoryboard
其连接到第一个UIViewController
。