Ich versuche eine Sammlungsansicht zu erstellen (Xcode 8, Swift 3), die zwei Zellen pro Zeile zeigt. Jede Zelle in der Sammlung Ansicht hat (von oben nach unten):Bild in der Sammlungsansicht wird beim Scrollen größer
- Ein Image
- A Titel Label
- A Untertitel Label
Ich habe die Zelle in Storyboard setzen sich wie folgt zusammen:
- Zellengröße: 250 x 258
- Image an die enthalten gepinnt er-Zelle (0 oben, 0 vorangestellt und 0 nachlaufend) an die Titelbeschriftung angeheftet (10 unten)
- Title-Label an die Containerzelle angeheftet (12 führende, 12 nachlaufende) und zum Untertiteletikett (-0,5 unten)
- Untertitel Etikett an der Behälterzelle verstiftet (12 führenden, 12 nachlauf, 0 unten)
- insets Abschnitt 10 ringsum
- Min Abstand 10 für Linien
dann in meinem Controllers viewDidLoad ich die folgenden:
let width = collectionView!.frame.width/2
let layout = collectionViewLayout as! UICollectionViewFlowLayout
layout.itemSize = CGSize(width: width - 15, height: width - 4)
Wenn ich die App starte, sieht anscheinend alles gut aus. Wenn ich jedoch auf und ab blättern oder zu einem anderen Tab wechseln und zurückkehren werde, erscheinen einige der Bilder größer als sie sollten (die Zelle bleibt für jedes Element gleich groß, aber das Bild ist größer und schiebt das Etikett darunter).
Ich gehe davon aus, dass dies ein Problem mit dem automatischen Layout ist, aber ich bin mir nicht sicher, wie man es so macht, dass die Sammlung zeigt zwei Zellen pro Zeile, während das Bild in den Zellen im gleichen Verhältnis (Bilder sind rechteckig 250) x 197). Ich kann keine festen Werte für Breite und Höhe für das Bild festlegen, da ich es abhängig von der Bildschirmgröße proportional skalieren muss.
Ich habe online nach Lösungen gesucht, aber die meisten Tutorials zur Sammlungssicht arbeiten mit quadratischen Bildern, bei denen der gleiche Wert für Breite und Höhe eingestellt ist, damit die Proportionen in rechteckigen Bildern nicht beibehalten werden.
Haben Sie in der Bildansicht" Clips an Grenzen "angekreuzt? – Fogmeister
Ja, leider löst das nicht. Auch passiert es zufällig und alle Bilder haben die gleiche Größe. – cesarcarlos
Da Sie die Breite und Höhe nicht statisch einstellen möchten, können Sie das Seitenverhältnis auf "1: 27" einstellen, um Ihre Bilder auf dem gleichen Wert wie 250x197 zu halten. –