UITableViewCell dynamische Höhe funktioniert nicht mit Größenklassen

8

Durch Festlegen von estimatedRowHeight und rowHeight von UITableView berechnet die Tabellenansicht die korrekte Höhe jeder Zelle. Das funktioniert wie ein Zauber, bis ich Größenklassen verwende. Es scheint, als würden alle Berechnungen für Any / Any-Größenklassen durchgeführt und die größere Schriftart wird später angewendet. Daher wird die Höhe der Zelle nicht richtig berechnet und das Etikett passt nicht.

Hier ist mein Code:

%Vor%

Layout sieht so aus:

Und die Verwendung von Größenklassen ist:

Jetzt, wenn ich die App auf einem iPhone öffne, sieht alles wie erwartet aus. Aber auf einem iPad werden die Zellen nicht richtig skaliert. Tatsächlich werden sie so skaliert, dass sie in den Text passen, wenn die Schriftgröße 11pt statt 40pt beträgt.

Die Frage ist: Wie kann ich die Berechnungen erzwingen, nachdem die Größenklassen angewendet wurden?

Ich habe es bereits versucht, indem ich die Merkmalssammlung überschrieben habe: Ссылка , aber es hat nicht funktioniert. Ich meine, die Größenklasse wurde richtig gelesen (Regular / Regular), aber die Schriftgröße war immer noch 11pt. ​​

Sie können dieses einfache Projekt von Github herunterladen: Ссылка

Screenshots:

  • iPhone 4s:

  • iPad 2:

  • iPad 2 nach dem Aufruf von tableView.reloadData() :

Bearbeiten: Formatierung, Github-Link hinzugefügt.

    
Darek Cieśla 21.09.2015, 12:43
quelle

1 Antwort

-3

Legen Sie die bevorzugte maximale Breite auf dem Etikett in Interface Builder fest - & gt; Größeninspektor. Das löst das Problem für mich. Stellen Sie außerdem sicher, dass die Anzahl der Zeilen 0 ist.

    
Tander 22.09.2015 09:29
quelle

Tags und Links