Die Größe von UICollectionView-Zellteilansichten wird nicht geändert

In einemCollectionViewIn 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!

Antworten auf die Frage(10)

Ihre Antwort auf die Frage