Die Größe von UICollectionView-Zellteilansichten wird nicht geändert
In einemCollectionView
In einigen Zellen sollte eine zusätzliche Unteransicht oder Ebene vorhanden sein. DasCollectionView
Es kann angewiesen werden, die Größe der Zellen zu ändern. Daher muss die Größe aller Inhalte entsprechend angepasst werden.
Gegenwärtig wird die Zelle von einer Spitze initialisiert, die eine Zelle mit Bildansicht enthält. Die Zellenspitze ist mit einer benutzerdefinierten verknüpftUICollectionViewCell
Unterklasse, die nur die Init tut. Die automatische Größenänderung von Unteransichten ist aktiviert.
DasCollectionView
wird angewiesen, die Größe der Zelle anhand eines abgeleiteten und zurückgegebenen Werts zu ändernsizeForItemAtIndexPath:
. Ich habe ein FlowLayout unterklassifiziert, aber es gibt nur anScrollDirection
undInsets
.
All das funktioniert gut. Problem: Wie füge ich der Zelle eine Unteransicht / Ebene hinzu, damit auch die Größe der Zelle korrekt geändert wird? Ich habe versucht, Unteransichten und Ebenen mit hinzuzufügentranslatesAutoresizingMaskIntoConstraints
aus, aber diese ändern die Größe nicht automatisch. Auch versucht, Code Frame / View anstelle der Feder zu verwenden.
Das Beste, was ich jetzt habe, ist acell.contentView.layer
Unterschicht, die ich hinzufügecellForItemAtIndexPath:
; Das heißt, die Größe wird "manuell" geändert, indem die Zellen gespeichert werdenframe.size
vonsizeForItemAtIndexPath:
, was nicht nur hässlich ist, sondern auch dazu führt, dass die Unterschicht verschiedene Größen für verschiedene Zellen aufweist.
Jede Hilfe dankbar!