2016-04-06 13 views
0

Ich muss eine Sammlung Ansicht gemäß diesem Design implementieren.Wie Interzellraum in UICollectionView entwerfen?

enter image description here

brauche ich weiß Räume zwischen den Zellen hinzuzufügen. Dies ist möglich, indem Sie die Hintergrundfarbe von UICollectionView als weiß festlegen und den entsprechenden Zellenabstand und Zeilenabstand hinzufügen. Allerdings muss ich den dunklen Hintergrund der Sammlungsansicht so beibehalten, dass er mit der Farbe der oberen Leiste übereinstimmt, während er gezogen wird. Was wäre der beste Weg, dies zu erreichen?

+0

Legen Sie einen Bildausschnitt innerhalb der Zelle mit weißem Hintergrund ein? – zcui93

+0

Ja, das Anwenden einer Einfügung kann helfen, aber in diesem Fall haben wir keinen linken Einschub für die erste Spalte und keinen rechten Einschub für die zweite Spalte. – hsusmita

+0

Dann wird vielleicht eine Art manueller Berechnung (gerade/ungerade) in 'CellForItem' benötigt? – zcui93

Antwort

0

Eine Lösung hierfür ist Ihrer Ansicht nach in Navigation Controller einbetten und dann die Farbe der Navigationsleiste wie folgt angeben:

navigationController.navigationBar.barTintColor = UIColor.AnyColorYouWant() 

andere Weg ist Hintergrund der Zellen auf weiß zu setzen und setzen constaints für Kinder Ihre Prototyp-Zellen, um den von Ihnen gewünschten Randbereich zu erreichen.

+0

Hier Rand ist nicht einheitlich für alle Zellen. – hsusmita

+0

Erstellen Sie dann einen Ausgang für die linke und rechte Abhängigkeit und setzen Sie sie dann auf 0 oder Ihren Rand –

+0

Es erfordert das Wissen über die Position einer Zelle. Das heißt, in "cellForItemAtIndexPath" muss ich die Position der Zelle anhand von indexPath bestimmen und dann die Marge anwenden. Eigentlich habe ich Layout-bezogene Sachen in "cellForItemAtIndexPath" vermieden, da mein Layout von einem benutzerdefinierten Flow-Layout gehandhabt wird. – hsusmita

Verwandte Themen