• Wieder einmal haben uns unsere Apfeltalker tolle Fotos zur Abstimmung eingesandt. Welches ist Euer Favorit? Stimmt mit ab! Hier geht es zur Abstimmung --> Klick
  • Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick

Dynamische Zellenhöhe

SpecialFighter

James Grieve
Registriert
25.04.12
Beiträge
132
Hallo alle zusammen,

schaut euch bitte Mal folgenden Screen an:
Bildschirmfoto 2015-08-19 um 12.00.12.png

Das ist der Aufbau einer Zelle in meinem Tableview
Ich möchte diese gerne so beibehalten.
- Erste Zeile: Text
- zweite Zeile: ein Label mit Text

Problem:
die erste Zeile ist normalerweise immer nur ein 1 Zeiler, muss aber bei längerem Text ein Zweizeiler werden, da dieser sonst abgeschnitten wird.
Wie stelle ich das dynamisch an, dass je nach Textlänge ein Einzeiller bzw ein Zweizeiller draus gemacht wird und dem entsprechend die Zelle von der Höhe angepasst wird und das Label aus Zeile 2 nach unten rutscht?

Arbeite mit iOS 8 Swift
 
Immer einen Zweizeiler lassen ist keine Lösung? Dann hätte die Tabelle ein einheitliches Design (immer gleiche Höhe einer Zelle).

Ansonsten zwei Prototypes erstellen und dann Anzahl der Chars (Textlänge) überprüfen. Ist der Text z.B. kleiner als 50 Zeichen dann benutzt du Prototype 1 ansonsten Prototype 2.
 
Zuletzt bearbeitet:
numberOfLines macht genau das, was du willst.
Im Storyboard beim Label einfach lines auf 2 setzen. Fertig.

Edit: Zumindest was die Sache mit dem Label angeht :)
Zur automatischen Größenanpassung der Tabellenzeile möchte ich mich nicht äußern.
 
Zuletzt bearbeitet:
Wenn du eine Custom Cell benutzt, dann sollte sich die Höhe der Zelle, sofern du die beiden Labels mit Constraints gesetzt hast, automatisch anpassen. Also du nimmst einfach den Label und erstellst Constraints für den Abstand in alle 4 Richtungen. Und da der Label durch numberOfLines 2 dynamisch ist, also entweder eine Zeile oder 2, passt sich die ganze Zelle an. Das sollte denke ich dein Problem lösen.