使用故事板从app delegate呈现模态视图控制器

时间:2012-03-13 14:18:30

标签: ios storyboard modalviewcontroller

如果我对iOS项目中的一件事感到遗憾,那就是我从一开始就开始使用故事板。现在我找到了适当的参考资料。

在这种特殊情况下,我只想在应用程序完成从AppDelegate完成启动后立即显示模态视图控制器。很简单,但我现在无法完成它:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{    
    AppStartViewController *appStartViewController = [[AppStartViewController alloc] init];
    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:appStartViewController];
    [navController setModalPresentationStyle:UIModalPresentationFullScreen];

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];

    UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"MyInitialViewController"];
    [vc presentModalViewController:navController animated:NO];

    // Override point for customization after application launch.
    return YES;
}

任何想法出了什么问题或者我的错误在哪里思考?

1 个答案:

答案 0 :(得分:3)

我认为vc尚未出现在你的观点上。首先需要提供vc视图控制器。

self.window.rootViewController = vc;

[self.window makeKeyAndVisible];

模态视图控制器只能由视图中已有的另一个视图控制器显示。