2012-03-22 13 views
7

Estoy intentando llamar programáticamente a mi guión gráfico. Mi guión gráfico consiste en lo siguiente:Llamada programática al guión gráfico en el delegado

[Navigation Controller] -> [MainMenuView] -> [DetailsView]

El identificador "Menú principal" se colocó en el [MainMenuView]

El problema i' m teniendo es la pantalla que muestra en blanco. ¿Que necesito hacer?

Gracias.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{  
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 

    MainMenuView *rootViewController = [storyboard instantiateViewControllerWithIdentifier:@"MainMenu"]; 

    return YES 
} 

Respuesta

2

Tiene que establecer la propiedad RootViewController de la ventana de la aplicación:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{  
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
    MainMenuView *rootViewController = [storyboard instantiateViewControllerWithIdentifier:@"MainMenu"]; 

    self.window.rootViewController = rootViewController; 

    return YES; 
} 
+0

púsela pero sigue en blanco – RockBaby

+0

@RockBaby: 'propiedad window' del AppDelegate no está configurado todavía, estás mensajería nula. Haga esto primero en didFinish ...: 'self.window = [[UIWindow alloc] initWithFrame: [[UIScreen mainScreen] bounds]];' – Josh

16

Es necesario crear primero la ventana de forma manual y luego añadir el RootViewController en ella (la respuesta anterior era casi correcta):

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 

    UIViewController *mainViewController = [storyboard instantiateInitialViewController]; 

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
    self.window.rootViewController = mainViewController; 
    [self.window makeKeyAndVisible]; 

    return YES; 
} 
+0

Esto ya no es válido para ios 9 –

Cuestiones relacionadas