2012-03-13 13 views
2

iOSプロジェクトで1つのことを後悔した場合、最初からストーリーボードを使用し始めました。今私は適切な参照を見つけるのが難しいです。ストーリーボードのアプリケーションデリゲートからモーダルビューコントローラーを表示

この特定のケースでは、アプリケーションが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; 
} 

任意のアイデアや思考どこで私のミスですか?

答えて

3

私はまだあなたのビューにはないと思います。最初にvc View Controllerを表示する必要があります。

self.window.rootViewController = vc;

[self.window makeKeyAndVisible];

モーダルビューコントローラは、ビューに既に存在する別のビューコントローラによって提示することができます。

+0

私はそれがビュー上にあると思う - vcは、識別子 "MyInitialViewController"でストーリーボードからビューコントローラでインスタンス化されています。少なくとも私が推測するもの。提案したようにコードを変更すると、最初のビューコントローラがモデルビューコントローラとして表示されます – MrBr

関連する問題