Ho bisogno di un piccolo aiuto su un problema con i controller di navigazione.popToRootViewControllerAnimated non visualizza il controller di visualizzazione root
Ho un navigationController
con 4 ViewControllers
spinto. L'ultimo vc I push presenta un ulteriore ViewController
modally. Il modale ViewController
presenta uno ActionSheet
. A seconda della risposta dell'utente, ignoro il modale ViewController
o voglio tornare alla radice ViewController
.
Nel ViewController
presentato modale che ho:
- (void) dismissGameReport
{
[[self delegate] GameReportModalWillBeDismissed:modalToPopToRoot];
}
Nell'ultimo ViewController
inseriti nello navigationController
pila ho:
- (void)GameReportModalWillBeDismissed: (BOOL)popToRoot;
{
if (popToRoot)
{
[self.navigationController popToRootViewControllerAnimated:NO];
}
else
{
[self dismissModalViewControllerAnimated:YES];
}
}
Respingendo la vista modale di controllo funziona bene. Tuttavia,
[self.navigationController popToRootViewControllerAnimated:NO];
non causa la radice ViewController
per visualizzarne le viste. Aggiunta di alcune informazioni di registro Vedo che dopo il messaggio a self.navigationController
lo stack è stato estratto correttamente ma l'esecuzione continua in sequenza. Lo schermo mostra ancora la vista del modale ViewController.
Come soluzione alternativa, ho provato a eliminare sempre il controller di visualizzazione modale e nel metodo ViewWillAppear
il messaggio popToRootAnimated
. Nessuna differenza. Ancora la pila di controller è spuntata ma lo schermo continua a mostrare la vista del mio controller di visualizzazione modale e l'esecuzione continua in sequenza.
Qualcuno potrebbe aiutarmi per favore?
hai provato a eseguire il debug con il punto di interruzione che il tuo compilatore entra in loop? – Hiren