2013-04-16 10 views
11

Utilizzo di Objective C e Xcode Ho creato uno UICollectionView con 10 sezioni e tutto funziona correttamente. Esiste comunque la possibilità di impostare la sezione a cui viene visualizzata la prima volta che viene visualizzata? Per impostazione predefinita mostra le sezioni 0-9, ma voglio che inizi nella sezione 5.UICollectionView scorrere alla sezione specifica

risposta

26

Puoi chiamare scrollToItemAtIndexPath:atScrollPosition:animated: nel tuo metodo viewDidAppear:.

È possibile mantenere un riferimento alla cella a cui si desidera scorrere, quindi utilizzare indexPathForCell: per ottenere il percorso dell'indice.

Di seguito sono le posizioni di scorrimento è possibile scegliere tra

UICollectionViewScrollPositionNone 
UICollectionViewScrollPositionTop 
UICollectionViewScrollPositionCenteredVertically 
UICollectionViewScrollPositionBottom 
UICollectionViewScrollPositionLeft 
UICollectionViewScrollPositionCenteredHorizontally 
UICollectionViewScrollPositionRight 
+0

Questo ha funzionato bene. Bel lavoro Grazie – Bogiemon

+13

@Bogiemon ... Accetta questa risposta se risolve il tuo problema. –

+1

Cosa succede se quella particolare sezione non ha elementi, solo una vista di intestazione? – sharoni

2

Nel caso in cui si sa dove si vuole scorrere fino in termini di una riga intero e la sezione, è possibile utilizzare questi numeri interi nel

NSIndexPath indexPathForItem:inSection: 

metodo per creare un NSIndexPath invece di mantenere un riferimento a una cella e quindi chiamare indexPathForCell :. Inoltre, è possibile spostare questo codice nel metodo viewWillAppear: se si desidera che lo scorrimento avvenga prima che venga visualizzata la vista.

Problemi correlati