2016-04-27 11 views
0

Hier ist, wie mein App jetzt aussieht, entschuldigen Sie bitte die hässliche rosa es für Debugging-Zwecke verwendet wird:Wie kann TableCell UIImageView die gleiche Breite, aber unterschiedliche Höhe abhängig vom Bild haben?

enter image description here

Wie Sie sehen können, alle Zellen die gleiche Größe und die UIImageViews sind auch die gleiche Größe, aber das Bild füllt nicht alles aus. Idealerweise möchte ich, dass alle Fotos die gleiche Breite haben, aber je nach Foto unterschiedliche Höhen haben und dass jede Zelle entsprechend groß ist, da einige Fotos größer als andere sind und ich nicht möchte, dass kurze Fotos Platz beanspruchen.

Hier sind meine Storyboard und Einschränkungen:

enter image description here

Die Leute, die ich mit dieser um Hilfe gebeten habe mir gesagt haben, es programmatisch zu tun. Ich habe ausgiebig gegoogelt und bin immer noch unsicher, wie das geht. Ich habe es bereits versucht, image.frame.width = 100, aber das hat nichts bewirkt. Gibt es eine Möglichkeit, dies auf dem Storyboard zu tun, und wenn nicht, wie programmiere ich das (in Swift bitte!)?

Vielen Dank!

+0

Ihre Zellen statisch oder dynamisch sind? –

+0

Ich bin mir nicht sicher, ich nehme an, ich möchte, dass sie dynamisch sind, aber ich weiß nicht, was sie gerade sind. – mayaah

Antwort

0

Es gibt drei Möglichkeiten:

1.Manually alle die Höhen Bilder berechnen, bevor die Pre-Rendering und die Höhen an den Tableview Delegierten übergeben.

2.Verwenden Sie die UITableViewAutomaticDimension -Eigenschaft für die selbstbemessende Zelle, sie muss Auto-Layout verwenden und die Systemversion muss höher als 8.0 sein.

3. Wie zuvor beschrieben, gibt es eine ausgezeichnete Third-Party-Bibliothek für die automatische Größenanpassung von Zellen mit dem Namen UITableView-FDTemplateLayoutCell. Es unterstützt iOS6 +.

1

Versuchen Sie dieses:

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Default cell height 
    self.tableView.estimatedRowHeight = 60 
    // This will auto increment your table cell height 
    self.tableView.rowHeight = UITableViewAutomaticDimension 
} 
+0

Es stellt sich heraus, dass ich das schon gemacht habe, aber mit geschätztRowHeight = 100 :(das Ändern auf 60 hat auch nichts getan außer einige der Fotos erscheinen jetzt nicht – mayaah

+0

jk^die Fotos tauchen auf, wenn ich sie ändere zu 60, das war ein Fehler mit API-Aufruf. Aber immer noch in demselben Boot stecken. – mayaah

+0

überprüfen Sie Ihre Zellenhöhe in Storyboard. –

Verwandte Themen