Sto sviluppando un'applicazione con un UINavigatorController. Sto usando il metodo viewDidAppear nel secondo viewController premuto per trovare informazioni in un server esterno.viewDidAppear chiamato due volte in iOS5
Bene. Mentre in iOS5 ha funzionato bene all'inizio, mi sono reso conto che viewDidAppear non veniva chiamato in iOS4.3 così ho messo questo codice nella radice:
- (void)navigationController:(UINavigationController *)navigationController
didShowViewController:(UIViewController *)viewController animated:(BOOL)animated
{
[viewController viewDidAppear:animated];
}
Successivamente, l'applicazione ha iniziato a funzionare correttamente in iOS4.3. Tuttavia, in iOS5 non perché ha chiamato due volte viewDidAppear (quello che veniva chiamato prima e quello da navigationController:didShowViewController:animated:
)
Cosa devo fare per avere chiamato solo una volta viewDidAppear?
La ringrazio molto
Probabilmente si dovrebbe risolvere il problema sottostante. Stai facendo qualcosa di insolito quando premi il controller della vista? –
Nessun Firoze, ho provato tutto tranne ViewDidAppear e viewWillAppear non vengono chiamati in alcun viewController dal NavigationController. Ho un UITabViewController e un UINavigationController nella prima scheda che carica diversi ViewControllers – Ibai
Per essere onesti, ogni volta che ho visto un progetto in cui quei metodi del ciclo di vita erano inaffidabili, era a causa di errori comuni nella struttura o nella presentazione di il controller del contenitore. Chiedi a qualcuno di guardare quel codice. Sono sicuro che puoi farlo funzionare in modo coerente in iOS4 senza hack divertenti. –