Swift, Ändern der Breite von UICollectionViewCell und UILabel (innerhalb der Zelle) programmgesteuert

8

Ich habe die Breite einer Zelle (UICollectionViewCell) auf die Breite der UICollectionView eingestellt und versuche genau dasselbe mit der UILabel, die in dieser Zelle enthalten ist. Ich denke, der Code unten erklärt genau, was ich erreichen möchte. Also habe ich hier ein paar Fragen in SO gelesen und auch ein paar Tutorials, aber ich bin mir immer noch nicht sicher, wie ich das erreichen kann.

In ein paar Fragen wurde gesagt, dass wir collectionViewLayout verwenden, aber ich habe wirklich Probleme damit, es in meinem Code zu verwenden. Irgendwelche Ideen? Danke!

%Vor%

Aktualisieren 1

Also habe ich Folgendes hinzugefügt:

%Vor%

Wenn die Ansicht geladen wird, ist die UILabel-Breite immer noch klein. Wenn ich zu einer anderen Ansicht gehe und dann zurückkomme, dann ist es 100%. Also muss ich etwas in der viewDidLoad() richtig machen? Ich verwende bereits self.collectionView.reloadData() , aber ich denke, das ist nur für Daten.

Update 2

%Vor%     
manosim 28.12.2014, 15:49
quelle

1 Antwort

19

Es funktioniert nicht, weil zum Zeitpunkt, zu dem diese Methode aufgerufen wird, die Auflistungsansicht bereits weiß, wie groß die Zelle sein sollte, weil sie von der Flow-Delegate-Methode stammt:

%Vor%

Hier sollten Sie die Größe Ihrer Zellen einstellen.

    
Abizern 28.12.2014, 16:03
quelle