2016-07-15 23 views
0

Ich habe UICollectionView mit benutzerdefinierten Layout, so gibt es eine Reihe von Elementen, die Scrollen mit Paging sind. Auch gibt es ein mehr Abschnitte, so dass die endgültige Ansicht wie ein App Store Beispiel endgültiger Ansicht ist wie unten,Detect Abschnitt von UICollectionViewCell

enter image description here

Problem ist, in jedem Abschnitt Fußzeile einer Seite Kontrolle zu stellen, dass Strom erkennt Seite des Abschnitts. Ich weiß nicht, wie man erkennt, in welchem ​​Bereich der Scroll-View-Offset geändert wurde. Ich schätze jede Hilfe oder andere Lösungen!

Antwort

0

Sie können den Abschnitt und die Zeile, in der die Sammlungsansicht ausgewählt wurde, mit der folgenden Delegate-Methode abrufen. Hier

// Swift 
func collectionView(_ collectionView: UICollectionView, 
didSelectItemAtIndexPath indexPath: NSIndexPath) 

// Obj-C 
- (void)collectionView:(UICollectionView *)collectionView 
didSelectItemAtIndexPath:(NSIndexPath *)indexPath 

wird diese Methode auf den Delegaten nur aufgerufen, wenn eine Zelle ausgewählt ist. Es gibt indexPath zurück.

indexPath enthält zwei Eigenschaften, nach denen Sie gerade fragen.

indexPath.row - Gibt das Elemente derzeit ausgewählten Element Index im Schnitt. indexPath.section - Gibt den aktuellen Abschnitt im

Hinweis Kollektion verwendet wird: Zählen von 0 Starts, nicht 1.

Also, wenn ich gewählt "ComboCritters" (Bild Schau oben), würde ich 0 für indexPath.section beziehen sich auf die "Neue Spiele, die wir lieben!" und, 2 für indexPath.row sagen, dass der 3. Artikel ausgewählt ist.

Und so erhalten Sie den ausgewählten Abschnitt in Ihrer App.

Mit freundlichen Grüßen,
Suman Adhikari

+0

Frage war über blättern –

+0

Wenn Sie auf den Bildschirm tippen, triggern Sie immer noch die Methode willeSelectRowAtIndexPath, die den IndexPfad geben würde. – Ariel

1

Sie können nicht haben die drei Abschnitte in rot im Diagramm hervorgehoben als separate Abschnitte in der gleichen Sammlung Ansicht, wenn Sie sie unabhängig voneinander bewegen wollen. Das Scrollen findet mit der gesamten Auflistungsansicht statt, nicht mit einem Abschnitt, es sei denn, Sie haben eine sehr komplizierte Layout-Unterklasse.

Es wäre viel einfacher, drei Sammelansichten zu haben, eine für jede Sektion.