Ho una schermata intera UICollectionView
nella mia app. Scorre orizzontalmente e ogni cella riempie i limiti della vista dell'insieme. La vista raccolta è gestita da un UIViewController
.UIViewController all'interno di UICollectionView
Dato che ogni "pagina" è ragionevolmente complessa, ha senso che ogni pagina stessa sia gestita da un associato UIViewController
. iOS 5 supporta il contenimento del controller di visualizzazione, in modo che i controllori figlio ricevano i metodi del ciclo di vita appropriati (ad esempio viewWillAppear:
, ecc.) quando le viste sono collegate e separate. Quanto sarebbe bello giocare con il riciclaggio delle immagini?
Scorrendo dalla pagina "1", a "2", verrà creata una nuova vista (poiché entrambe potrebbero essere visualizzate contemporaneamente durante il touchdown). Passando dalla pagina "2" a "3", lo UICollectionView
potrebbe rimuovere la vista dalla pagina "1", ma cosa succede ora? Inserirò forzatamente la vista nel controller di visualizzazione tre in questo modo?
id cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"ident" forIndexPath:indexPath];
UIViewController *child_controller = [self controllerAtIndexPath:indexPath];
[child_controller setView:cell];
// ... and so on
Questo sembra sbagliato. Tuttavia, non riesco a pensare a un modo corretto di riutilizzare le viste correttamente in questa istanza. Sto prendendo completamente l'approccio sbagliato?
Se ogni cella riempie i limiti della vista dell'insieme, perché non usare semplicemente un 'UIPageViewController' con il suo' transitionStyle' impostato su 'UIPageViewControllerTransitionStyleScroll'? È progettato per ospitare un controller di visualizzazione figlio per pagina. –