Esta es la situación. Tengo una NSTimer en el Appdelegate.m que realiza un método que comprueba la ubicación del usuario y los registros que se le fuera si se encuentra fuera de una región. Cuando eso suceda quiero cargar el inicio de sesión de controlador de vista. Sin embargo, con las siguientes líneas de código, yo soy capaz de ver la VC, pero si hago clic en un campo de texto para escribir, tengo un sigbart. Alguna idea de cómo la carga inicial del VC de aplicación delegado correctamente?

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil];
            LoginViewController *loginViewController = (LoginViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@"Login"];
            [self.window addSubview:loginViewController.view];
            [self.window makeKeyAndVisible];
Si usted encuentra una de estas respuestas sean correctas, ¿te importaría marcado como correcto

OriginalEl autor audiophilic | 2012-03-13

3 Comentarios

  1. 12

    He estado luchando con esto bastante. He aquí lo que funcionó para mí

    UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil];
    LoginViewController *loginViewController = (LoginViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@"Login"];
    
    //set the root controller to it
    self.window.rootViewController = loginViewController

    Si usted todavía tiene errores, tiene que ver con su LoginViewController, no el AppDelegate de transición. Espero que esto ayude.

    Yo creo que no se puede asignar un VC para el auto.de la ventana.rootViewController.

    OriginalEl autor Flaviu

  2. 4

    Tanto audiophilic y Flaviu ‘s enfoques están bien. Pero le falta una línea de código adicional.

    Me enteré de que usted tiene que asignar y inicio el UIWindow objeto en primer lugar. No sé por qué, pero inicializar el objeto de resolver los problemas.

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

    audiophilic del enfoque:

    self.window=[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    
    UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil];
    
    ResultsInListViewController *resultsInListViewController = (ResultsInListViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@"ResultsInListViewController"];
    
    [self.window addSubview:resultsInListViewController.view];
    
    [self.window makeKeyAndVisible];

    Flaviu del enfoque:

    self.window=[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    
    UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil];
    
    ResultsInListViewController *resultsInListViewController = (ResultsInListViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@"ResultsInListViewController"];
    
    [self.window setRootViewController:resultsInListViewController];
    
    [self.window makeKeyAndVisible];

    OriginalEl autor Shuaib

  3. 1

    Este es el código que uso cuando quiero cambiar puntos de vista:

    #import "LoginViewController.h"
    
    LoginViewController *screen = [[LoginViewController alloc] initWithNibName:nil bundle:nil];
    screen.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
    [self presentModalViewController:screen animated:YES];
    
    //or
    
    [self.window addSubView:screen];

    El uso de ese código se crea una nueva instancia de la misma y mostrar, por lo que debe cumplir con su pregunta. Puede que tenga que mover algunas cosas a su alrededor, pero debería funcionar.

    Déjeme saber si usted necesita más ayuda.

    Espero que esto ayude!

    David, no funciona. No pasa nada si me inicializar el inicio de sesión de VC de la manera que usted dijo.
    ¿Hay algún mensaje de error

    OriginalEl autor David

Dejar respuesta

Please enter your comment!
Please enter your name here