Ho un controller di visualizzazione contenitore personalizzato: ContainerVC
. Il suo compito è presentare uno dei due controller di visualizzazione del contenuto: ContentPortraitVC
o ContentLandscapeVC
, a seconda dell'orientamento corrente (anche se non importa perché il contenitore sceglie la sua vista, presumo). ContentPortraitVC
, a un certo punto appare ContentModalDetailVC
.Come interagiscono i controller Modal e Child View?
Quindi ci sono due diversi metodi di visualizzazione di nuovi contenuti al lavoro qui:
la relazione padre-e-figlio (istigato via
addChildViewController
e rimosso tramiteremoveFromParentViewController
),il presenting- e-relazione presentata (istigata tramite
presentViewController
e rimossa tramitedismissViewController
).
Se il ContainerVC
aggiunge la ContentPortraitVC
, che poi presenta la ContentModalDetailVC
, e poi il ContainerVC
decide di passare alla ContentLandscapeVC
, il ContentModalDetailVC
resta visibile (perché non viene rimosso quando suo padre viene rimosso?)
Tuttavia, quando viene chiesto di rimuovere ContentPortraitVC
per rimuovere ContentModalDetailVC
, non accade nulla. Il display modale rimane inserito. Cosa sta succedendo?
Mi sono imbattuto in questo problema e ho capito cosa sta succedendo da questa risposta, grazie! Per quanto riguarda la gestione del caso dei controller di visualizzazione presentati nel controller di visualizzazione contenitore quando si passa? Cioè controllando la presenza di un 'presentViewController' sul controller corrente della vista figlio e sostituendo quella vista. Questo spezzerebbe il design? – kolizz