2013-01-08 4 views
26

È possibile utilizzare UICollectionView per creare un layout in cui ogni sezione può essere scrollata in modo indipendente? Ad esempio, immagina 20 righe di immagini, in cui ogni riga può essere scorsa indipendentemente in orizzontale per rivelare più immagini fuori schermo (senza scorrere altre righe nel processo); e l'intera vista potrebbe essere scorsa verticalmente per rivelare più righe.Scorrimento indipendente per ogni sezione di un UICollectionView?

Credo che qualcosa del genere possa essere implementato con diverse istanze di UICollectionView all'interno di un UIScrollView; tuttavia, sarebbe bello sfruttare UICollectionView per inserire/spostare sezioni.

Sospetto che ciò non sia pratico poiché UICollectionView è una sottoclasse di UIScrollView; ma forse questo può essere fatto con un UICollectionViewLayout personalizzato?

+0

È possibile utilizzare celle personalizzate per ottenere lo stesso effetto (anziché sezioni). La vista raccolta può agire come una vista tabella (singola colonna) e ogni cella può avere una vista di scorrimento con una fila di immagini. Le visualizzazioni di scorrimento nidificate dovrebbero in teoria comportarsi bene poiché sono fisse per scorrere in direzioni diverse. So che questo non risponde esattamente alla domanda, ma può essere una soluzione alternativa per ottenere lo stesso effetto generale. – nebs

+0

Grazie per il suggerimento Nebs - sì, probabilmente andrò su quella rotta se non c'è un modo per farlo usando le sezioni con 1 immagine per cella. – MikeV

+0

Questa domanda non può essere risolta in questo momento, poiché la risposta sarebbe un "no" breve e deludente. Prenderesti in considerazione la possibilità di riscrivere la tua domanda in modo che possa essere risolta, possibilmente fornendo la risposta da solo e verificando la risposta? A mio parere, @ TheBasicMind merita il segno di spunta. – epologee

risposta

10

È possibile inserire più UICollectionViews nelle celle della tabella. La tabella scorre verticalmente. Le viste di raccolta possono essere configurate per scorrere orizzontalmente. Lo sto facendo su un layout complesso e funziona bene. Un vincolo da considerare è che è molto più difficile eseguire animazioni che devono spostarsi da una cella di tabella a un'altra e non è possibile utilizzare una singola modifica del layout della vista di raccolta per animare tutti gli elementi nella vista tabella. Ma se questi vincoli non sono un problema, questa è una soluzione relativamente facile.

+3

Grazie per il suggerimento: ho finito per mettere più UICollectionViews all'interno di una vista di UICollection; con quelli interni impostati per scorrere verticalmente e quello esterno per scorrere orizzontalmente. Questo ha funzionato bene, anche se sarebbe stato più semplice se avessi potuto usare un singolo UICollectionView con sezioni a scorrimento indipendenti ... – MikeV

+1

Ho fatto lo stesso, ma il mio tableview non scorre senza problemi a causa di questo. gentilmente aiutami a risolvere il problema. – HarshIT

+2

@HarshIT, è tardi lo so, ma ecco un tutorial che risolve il tuo problema: [link] (http://ashfurrow.com/blog/putting-a-uicollectionview-in-a-uitableviewcell/) Hope aiuta qualcuno. – Priest