我正在ios上创建一个消息传递应用程序,它将为不同类型的消息提供多个文件夹。我将使用导航控制器结构,并希望根视图是用户可以选择要查看的文件夹的位置。但是,当我第一次看到导航控制器时,我希望收件箱文件夹视图直接显示(即绕过根视图)。苹果邮件应用程序具有类似的结构(打开时启动收件箱)。我怎么能这样做?
答案 0 :(得分:0)
这实际上取决于第一个视图控制器和第二个视图控制器之间的关系。如果你想做这样的事情,为什么不把你的第二个视图控制器作为 UINavigationController 的根控制器。
无论如何,如果您仍想按照描述的方式进行操作,则只需使用根视图控制器中的viewDidLoad
方法指向第二个视图控制器即可。但是,它会使UI看起来很笨拙。
答案 1 :(得分:0)
尝试使用此代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
UIStoryboard *board = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
ViewController *controller1 = [board instantiateViewControllerWithIdentifier:@"firstView"];
UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:controller1];
SecondViewController *secondView = [board instantiateViewControllerWithIdentifier:@"secondView"];
[controller1 addChildViewController:secondView];
[self.window setRootViewController:navController];
return YES;
}
希望这会对你有所帮助。
答案 2 :(得分:0)
将此代码写入AppDelegate.m的 didFinishLaunchingWithOptions
UIStoryboard *MainStoryboard = [UIStoryboard storyboardWithName:@"Main"
bundle: nil];
UINavigationController *controller = (UINavigationController*)[MainStoryboard
instantiateViewControllerWithIdentifier: @"YourStoryBoardID"];
NeededViewController *need=[MainStoryboard instantiateViewControllerWithIdentifier:@"YourStoryboardID"];
[controller setViewControllers:[NSArray arrayWithObject:need] animated:YES];
self.window.rootViewController=controller;