Das Ziel
Ich versuche, eine dynamische Nachrichten-Zelle mit Auto-Layout zu erstellen.
Was ich versucht habe
Die Zelle positioniert sich größtenteils korrekt mit Auto-Layout, unter Berücksichtigung der folgenden Einschränkungen:
Das Problem
Mein erstes Problem war, dass die Breite des Nachrichtenlabels (kopierbares Label) eingeschränkt war. Dies scheint gelöst zu sein, indem ich setPreferredMaxLayoutWidth:
verwende, wie in dieser Frage beschrieben.
Die Höhe ist immer noch ein Problem. Wie Sie sehen können, wird die Nachrichtenblase immer noch abgeschnitten. Außerdem bin ich mir nicht sicher, wie ich die Höhe der Nachrichtenzelle für die Tabelle bestimmen kann.
Ich hatte erwartet, dass Auto-Layout irgendwie einfach funktioniert. Ich habe die Antwort hier gelesen, aber es scheint viele Schritte zu erfordern.
Die Frage
Erstens, ist Auto-Layout in manchen Fällen komplexer als traditionelle Rahmenberechnungen?
Zweitens, wie kann ich mit Auto-Layout die Höhe der resultierenden Zelle bestimmen?