/ / Qual è il modo corretto per passare daUIViewControllers senza utilizzare un controller di navigazione o caricare le viste in modo modale - ios4, uiviewcontroller, uinavigationcontroller, uitabbarcontroller, cocos2d-iphone

Qual è il modo corretto per passare daUIViewControllers senza utilizzare un controller di navigazione o caricare le viste in modo modale - ios4, uiviewcontroller, uinavigationcontroller, uitabbarcontroller, cocos2d-iphone

Sto cercando di realizzare le visualizzazioni di commutazione senzautilizzando un controller di navigazione, un controller della barra delle linguette, ecc. Attualmente sto realizzando questo utilizzando il metodo replaceScene della classe director di Cocos2d. La mia applicazione avrà bisogno di avere circa 40 controller di visualizzazione, ciascuno con pochi UIButtons che potrebbero portarli a qualsiasi altro controller di visualizzazione.

Ad esempio, il controller di visualizzazione 1 potrebbe avere pulsantiche ti porta a vedere il controller 2 Il controller 2 può avere pulsanti che si collegano a 3,4,5,12 potrebbe essere necessario visualizzare il controller 4 per visualizzare i controller 17, 5 e 3

Ogni tutorial e un po 'di documentazione che ho letto discute solo usando i controller di navigazione, le barre Tab o le viste di spinta modali Nessuna di queste soluzioni soddisfa le mie particolari esigenze.

Cocos2d ha il metodo "replaceScene" che fa esattamente ciò di cui ho bisogno, ma mescolare i molti controlli UIKit di cui ho bisogno rende l'incubo un incubo per l'intero progetto in Cocos2d.

Sto cercando qualcosa dove posso avere ill'utente tocca un pulsante che carica una transizione di visualizzazione / controllo di visualizzazione specificata per quella vista e scarica il precedente controller di visualizzazione dalla memoria. Qualche idea?

risposte:

1 per risposta № 1

Avere un controller di visualizzazione radice che ha riferimentidei tuoi controller di visualizzazione. Fai anche un riferimento debole al controller della vista radice in ogni controller della vista, come in un pattern delegato. Se uno dei controller della vista desidera effettuare una transizione della vista, inviare un messaggio al controller della vista principale. Lascia che il controller della vista radice nasconda la vista corrente e mostri la vista successiva, usando un'animazione se vuoi.

Fondamentalmente stai implementando un contenitore di visualizzazionemolto più semplice di UINavigationController e UITabBarController. Probabilmente potresti ottenere la stessa cosa usando il controller della barra delle schede e nascondere la vista della barra delle linguette, ma implementerei quella personalizzata.