Ich habe ein Bild zu UICollectionViewCell
hinzugefügt und Randbedingungen wie das folgende Bild hinzugefügt.Bildansicht, die in der Sammlungsansichtszelle hinzugefügt wurde, fügt keine hinzugefügten Beschränkungen hinzu
Constraints:
- Breite von Image = Breite der Zelle
- Höhe Image = Höhe der Zelle
- Align Image vertikal in Behältern (Cell)
- Richten Sie ImageView horizontal im Container (Zelle) aus
Ich entscheide mich zur Laufzeit über die Methode UICollectionViewDelegate
für die Zellengröße.
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize
{
// calculating cell size and returning it
}
Ausgabe:
Im cellForItemAtIndexPath
Methode, wenn ich die Zellengröße und Bildbetrachtungsgröße beide unterschiedliche Werte überprüft. Zelle {w: 82.0, h: 145.77}, ImageView {w: 380.0, h: 170}. Das Bild hat die gleiche Bildgröße wie auf dem Storyboard. Es passt sich nicht an die Einschränkungen an. Kann ich trotzdem sicherstellen, dass es die gleiche Größe meiner Zelle hat?
Aktuelle Fix: (?)
cell.imageView.frame = cell.bounds
Aber es macht keinen Sinn. Warum muss ich die Größe explizit festlegen, warum die Einschränkungen nicht angewendet wurden?
Nein, dass Link nicht hilft. Wie ich in meiner Frage gesagt habe, bekomme ich korrekte Zellengröße, das Problem tritt für die UIImageView auf (die die hinzugefügten automatischen Layoutbeschränkungen nicht anwendet). –