Domanda

Ho un evento che richiama al fine di apparire, ma l'evento -viewdidload non viene visualizzato come previsto ogni volta che viene chiamato. Ecco il metodo che uso di chiamarlo ...

[self presentModalViewController:addItemViewController animated:YES];

poi dentro l'addItemViewController, il metodo è

- (void)viewDidLoad {
    NSLog(@"alright, lad!");
}

Per chiudere la vista, ho un pulsante con il codice

- (IBAction)cancel {
    [self dismissModalViewControllerAnimated:YES];
}

il registro "Va bene, ragazzo" appare per la prima volta appare la vista, ma mai più quando è lanciato. Esiste un metodo che posso usare per lasciare che l'app "dimenticare" per la vista? O dovrei essere un altro metodo di carico? Ho provato loadview (credo), ma che aveva uno schermo vuoto ...

Grazie per qualsiasi aiuto!

È stato utile?

Soluzione

viewDidLoad viene chiamato solo quando la vista viene prima un'istanza. Se non sei ricreare il controller della vista ogni volta, si otterrà solo chiamato una volta (e chiamato di nuovo se si ottiene un avviso di memoria, e la vista è nil'd out). Probabilmente si desidera utilizzare viewWillAppear: o viewDidAppear:.

Altri suggerimenti

Assicurati che si chiama la superclasse in ciascuno di questi metodi, per esempio

- (void)viewWillAppear:(BOOL)animated {
  NSLog(@"view appeared");
  [super viewWillAppear:animated];
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top