Question

J'ai cherché autour, mais ont malheureusement pas eu de chance.

Mon application demande à l'utilisateur de se connecter / inscrire la première fois qu'il ou elle lance l'application. Je sais comment déterminer le premier lancement (en utilisant NSUserDefaults), mais chaque fois que je tente de présenter le modal contenant le signe / CREER contrôle, rien ne se passe.

Voici ce que j'ai:

-(void)viewDidLoad {
    [self showLogin];
    [super viewDidLoad];
}

-(void)showLogin {    
    FlipsideViewController *controller = [[FlipsideViewController alloc] initWithNibName:@"AccountView" bundle:nil];
    controller.delegate = self;

    controller.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    [self presentModalViewController:controller animated:YES];

    [controller release];
}

, rien ne se passe cependant. La vue principale charge comme normale. Toute aide est grandement appréciée.

-Giles

Était-ce utile?

La solution

  

[UPDATE]

fixe simplement à l'aide ..

-(void)viewDidAppear:(BOOL)animated 
{

}

au lieu de

-(void)viewDidLoad
{

}

Merci quand même!

/ idiotie

Autres conseils

J'ai eu le même problème et a fini par utiliser viewDidAppear ainsi. Le seul problème avec l'approche viewDidAppear est que si vous chargez d'autres UIViewControllers sur le dessus, puis reshow la base, votre code d'installation est appelée à plusieurs reprises. J'ai fini par avoir à ajouter une valeur booléenne (initialisées YES) à ce contrôleur de vue et vérifiez que la valeur avant de décider quoi faire. Espérons que cela aide quelqu'un ...

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:(BOOL)animated];

    if(justLaunched)
    {
        justLaunched = NO;
        if(settingsFileExists)
        {
            [self displayMainView];
        }
        else
        {
            [self displaySetupView];
        }
    }
}

Comment l'utilisation performSelector withObject: afterDelay dans la fonction viewDidLoad? Voilà comment je le fais, avec un court délai de 0.1s.

Et en invoquant ce dans le viewDidLoad n'est pas très sûr. La séquence viewDidLoad / viewDidUnload peut se produire lors de l'exécution lorsque l'iPhone a besoin de libérer des points de vue afin de récupérer une partie de mémoire libre

L'effet secondaire de cette séquence serait que votre contrôleur de connexion serait affiché ...

Comme vous l'avez dit le viewDidAppear semble mieux, mais pas simplement mis à la fin du appDidFinishedLaunching le délégué de votre UIApplication?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top