2016-06-20 14 views
0

Standardmäßig werden Zellen in einer UICollectionView mit Flusslayout und horizontaler Richtung von oben nach unten und von links nach rechts sortiert. Wie folgt aus:So ändern Sie die Reihenfolge der Flusselemente in der Sammlungsansicht

1 3 5 7 9 11 
2 4 6 8 10 12 

In meinem Fall ist die Sammlung Ansicht ausgelagert und es wurde so konzipiert, dass eine bestimmte Anzahl von Zellen in jeder Seite paßt. Somit wäre eine natürliche Ordnung sein:

1 2 3 7 8 9 
4 5 6 - 10 11 12 

Ich brauche die gleichen Elemente, um die vertikalen Strömung haben, aber mit horizontaler Richtung

wie kann ich das erreichen? danken die im Voraus

+0

Ich denke, Sie müssen ein anderes benutzerdefiniertes Layout verwenden. Flow-Layout funktioniert auf diese Weise, denke ich. –

Antwort

-1

UICollectionView implementieren und benutzerdefinierte Sammlung Ansicht Zelle erstellen, die 6-Etikett in einer Art und Weise enthält ---

1 2 3 
4 5 6 

Set Anzahl der Elemente in der Sammlung Ansicht: -

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section 
{ 
    return array.count; 
} 

Legen Sie die Anzahl der Sektionen: -

- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView 
{ 
    return 1; 
} 

Set Layoutgröße bei Index p ath nach Ihrer Anforderung

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath 
{ 
    // set size of collection view cell (width, height) 
    return CGSizeMake((self.view.frame.size.width)-40, 200); 
} 

Sammlung Ansicht Daten ai anderen Index Pfad. Machen IBOutlet von Etiketten in CustomCollectionViewCell Klasse und verbinden in Storyboard: -

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath 
{ 
    CustomCollectionViewCell* customCell = [collectionView dequeueReusableCellWithReuseIdentifier:@"waitingRoomTipId" forIndexPath:indexPath]; 

    // set data as per the requirement 
    customCell.label1.text = @"Label1"; 
    customCell.label2.text = @"Label2"; 
    customCell.label3.text = @"Label3"; 
    customCell.label4.text = @"Label4"; 
    customCell.label5.text = @"Label5"; 
    customCell.label6.text = @"Label6"; 

    return customCell; 
} 

Dies ist, wie sechs Etiketten werden in jeder Zelle angezeigt werden.

Hoffnung diese Lösung wird Ihnen helfen .. Danke

0

Verwenden UICollectionView des moveItemAtIndexPath sourceIndexPath:, das zu tun.

Es hat Quell-und Ziel-Indexpath-Werte. Nur Drag & Drop-Benutzer Collection-Ansicht Zelle, wo immer Sie benötigt.

Verwandte Themen