2016-12-19 5 views
1

Ich habe eine UICollectionView wie folgt aus:links ausrichten eine UICollectionView

enter image description here

enter image description here

enter image description here

Dies sind die drei verschiedene Fälle für sie. Hellgrau zeigt die Grenzen der Sammlungsansicht und dunkelgrau ist für Zellen. Ich habe min Abstand und Abschnitt Einsätze auf 0 eingestellt. Aber immer noch bekomme ich diese unerwünschten Einsätze, und es scheint nur passiert, wenn es mehr als 1 Zelle gibt.

berechne ich die Artikelgrößen wie folgt aus:

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize { 
    guard let item = place?.publicTransports?[indexPath.row] else { 
     return CGSize.zero 
    } 

    var lines = "" 
    for (i, line) in item.lines.enumerate() { 
     lines.appendContentsOf(line) 
     if i != item.lines.count - 1 { 
      lines.appendContentsOf(", ") 
     } 
    } 

    let linesString = lines as NSString 
    return CGSize(width: linesString.sizeWithAttributes(nil).width + 35 + 20, height: collectionView.bounds.height/2) 
} 

Irgendwelche Vorschläge?

+0

Willst du damit sagen, dass du die obere Zelle "M2" links ausrichten willst? Das Beispiel ist das korrekte Ergebnis für die Sammlungsansicht, wenn Sie über 2 Zeilen gehen. – SeanLintern88

+0

Ich möchte, dass die Zellen an ihrer linken Seite bleiben, egal was passiert. Ich will nicht, dass sie irgendwelche Flecken haben. –

Antwort

6

Es scheint, dass die Frage gelesen werden sollte, linke Ausrichtung einer UICollectionView.

Die einfachste Lösung ist, um zu gehen:

https://github.com/mokagio/UICollectionViewLeftAlignedLayout

Und Unterklasse Ihr Layout dies, dies wird Ihr UICollectionView links ausrichtet zu gewährleisten, sollten Sie alle Ihre Einsätze auf 0 gesetzt zuerst beginnen sie dann ändert sich je zu deinem Entwurf.

+0

Das hat den Trick, danke .. –

Verwandte Themen