0

Ich habe ein Problem mit der Anpassung der UIView Höhe in meinem Projekt. Ich habe das Projekt illustriert.Wie wird die UIView-Höhe gemäß der Sammlungsansicht angepasst? Content-Höhe in swift 3?

enter image description here

Lassen Sie mich über mein Projekt Bild erklären.
Jede orangefarbene UIView hat nachlaufende, führende, obere und untere Randbedingungen und vertikalen Abstand zu jeder UIView.
Aber ich füge "Höhe" zu jedem UIView hinzu, weil, wenn ich nicht addiere, es einen Fehler gibt und die "Höhe" Warnung hinzufügt.
In UIView2 füge ich 3 Containeransichten hinzu. Jede Containeransicht verfügt über 3 View-Controller. (Datenansicht 1, Datenansicht 2, Datenansicht 3)
Ich bette die Sammlung in jede Ansicht ein.
Das Problem besteht darin, dass in Datenansicht 3 viele Sammlung View-Zellendaten hat. Daher sollte die Höhe von Orange UIView entsprechend dem Inhalt der Sammlungsansicht erhöht werden.
Momentan füge ich nur feste Höhenkonstante (Höhe: 800) hinzu, wenn Benutzer auf die segmentierte Steuerschaltfläche von Data 3 klicken.
Aber ich möchte keine feste Höhe so einstellen.
Ich habe versucht, dieses Problem seit letzter Woche zu lösen. Ich konnte das bis jetzt nicht lösen.
Kann mir bitte jemand Schritt für Schritt erklären? Weil ich keine Ahnung habe, was ich tun soll.

+0

Warum machen Sie nicht Steckdose Ihrer Höhe Einschränkung und ändern Sie ihre Konstante über Code? Es wird dynamisch sein. Die Beschränkung auf die Inhaltsgröße ist im Storyboard schwierig. – ChanWarde

+0

Ich möchte keine konstante Höhe erstellen, da ich nicht die genaue Anzahl der Daten ermitteln konnte, die in der Sammlungsansicht enthalten sind. Wenn ich eine Höhenkonstante = 400 definiere, aber die Datenanzahl vom Server steigt, muss ich die Höhe neu definieren. –

+0

Wie fügen Sie eine Einschränkung mit Inhaltsgröße hinzu? – ChanWarde

Antwort

0

Seit UITableView oder UICollectionView erben von UIScrollView haben sie grundsätzlich keine intrinsicContentSize.
Sie haben zwei Möglichkeiten, um die gleiche Höhe wie die Inhaltsgröße (der Raum, den Sie scrollen) zu machen:

  • Sie können die Sammlungsansicht Unterklasse und intrinsicContentSize Methode überschreiben, die contentSize und die sizeThatFits: Methode als auch zurück
  • Erstellen Sie eine Höhenbeschränkung in der Schnittstelle und legen Sie sie gleich der Inhaltsgröße der Sammlungsansicht fest.
+0

bro @Andrea, Also, ich sollte die Sammlungsansicht "collectionViewContentSize" -Methode in Data3View.swift Datei schreiben. nicht wahr? Könnten Sie mir bitte die Beispielcodes zeigen? –

Verwandte Themen