Lavoro su un'applicazione legacy e ho scoperto che i miei metodi view[Will/Did]Disappear
non vengono sempre attivati correttamente.viewWillDisappear not call quando si chiama popToRootViewControllerAnimated
Il caso è, ho un (personalizzato) UIViewController
impostato come rootViewController in AppDelegate. Questo rootViewController ha un UINavigationController
, su cui sono spinti due controller di visualizzazione. Quando l'utente preme il pulsante home, l'utente viene disconnesso. Quando più tardi torna a l'applicazione, l'applicazione chiama [UINavigationController popToRootViewControllerAnimated:YES]
e quindi visualizza un modale UIViewController
per il login
Il problema è:. Quando premo/pop sul UINavigationController
normalmente, il mio metodo viewWillDisappear
si chiama correttamente. Tuttavia, quando utilizzo il metodo popToRootViewControllerAnimated:
, viewWillDisappear
non viene richiamato su nessuno dei viewControllers che vengono estratti.
ricerca su internet ha dato solo due possibili ragioni:
- If using a UINavigationController as a subview, you must call
view[Will/Did]Disappear
yourself - Not calling the proper super methods
Nessuno di questi suggerimenti sono il caso nella mia app. E non ho idea di dove guardare. Qualcuno ha un suggerimento su cosa è stato fatto di sbagliato nell'app?
buona scoperta :). Grazie! – GoGreen