Come posso, nel mio codice del controller di visualizzazione, distinguere tra:
- presentato in modo modale
- inserito nello stack di navigazione
Entrambi presentingViewController
e isMovingToParentViewController
sono YES
in entrambi i casi, quindi non sono molto utili.
Ciò che complica le cose è che il mio controller di visualizzazione genitore a volte è modale, su cui viene premuto il controller di visualizzazione da controllare.
Si scopre che il mio problema è che ho incorporato il mio HtmlViewController
in un UINavigationController
che viene quindi presentato. Ecco perché i miei tentativi e le buone risposte di seguito non hanno funzionato.
HtmlViewController* termsViewController = [[HtmlViewController alloc] initWithDictionary:dictionary];
UINavigationController* modalViewController;
modalViewController = [[UINavigationController alloc] initWithRootViewController:termsViewController];
modalViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentViewController:modalViewController
animated:YES
completion:nil];
Immagino che farei meglio a dire al mio controller di visualizzazione quando è modale, invece di provare a determinare.