К сожалению, UIStoryboard
не может визуально манипулировать иерархией UINavigationController
.В вашем случае вам необходимо программно установить иерархию в вашем делегате приложения.К счастью, из-за раскадровки делегат вашего приложения уже содержит ссылку на этот контроллер навигации.
При раскадровке так называемый «начальный контроллер представления» будет подключен к свойству rootViewController
в экземпляре приложения.из UIWindow
к тому времени, когда сообщается -applicationDidFinishLaunchingWithOptions:
.
- (BOOL)application:(UIApplication *)app didFinishLaunchingWithOptions:(NSDictionary *)options
{
UINavigationController *navController = (UINavigationController *)self.window.rootViewController;
MenuViewController *menu = [navController.storyboard instantiateViewControllerWithIdentifier:@"MenuController"];
CustomViewController *custom = [navController.storyboard instantiateViewControllerWithIdentifier:@"CustomController"];
// First item in array is bottom of stack, last item is top.
navController.viewControllers = [NSArray arrayWithObjects:menu, custom, nil];
[self.window makeKeyAndVisible];
return YES;
}
Я понимаю, что это не идеально, но если вы хотите остаться в стране раскадровок, я боюсь, что это единственноеспособ.