Ich habe hier einen Link zum Projekt auf github hinzugefügt: Ссылка
Das ist wirklich mein erstes Mal, dass ich mit Auolayout klarkomme, also erwarte ich, dass ich ein paar Amateurfehler mache. Ehrlich gesagt, weiß ich, wie ich das tun würde, Frames zu manipulieren, aber nicht mit dem automatischen Layout mit dem Clipping des Inhalts richtig arbeiten kann. Ein Teil der Fragen ist, sollte ich nur Frames verwenden, wenn wir immer im Portrait-Modus sind?
Ich habe eine benutzerdefinierte UITableViewCell, wo ich ein paar UILabels habe. Sie sind auf numberOfLines = 0 festgelegt. Manchmal werden sie den Text abschneiden. So:
Wie behebe ich das? Ich habe versucht, Daten in ViewDidLoad neu zu laden, aber das schien nicht von Bedeutung zu sein. Meistens, wenn Sie scrollen, repariert es sich selbst (aber nicht immer). Es kann sich um drei beliebige UILabels handeln und ist unabhängig von der Textmenge. Mein erstes Mal benutze ich UILabels mit Auto Layout, also wahrscheinlich einen Fehler, den ich gemacht habe. Hier sind meine UILabel-Eigenschaften:
und das Layout für das erste Label:
Ihr automatisches Layout ist perfekt . Das Problem trat nur auf, weil Sie in Ihrem xib < auto layout
mit Standardtext festgelegt haben / stark>. und in dir viewDidLoad
, wo du UILabel
text aktualisierst aber layout
nicht programmatisch aktualisierst. Also bleibt nur eine Zeile übrig:
Fügen Sie eine neue Zeile hinzu, bevor Sie UITableView
in viewDidLoad
method neu laden. all die Dinge funktionieren gut.
Beispiel :
%Vor%Hoffe, das hilft dir.
Ich habe die Quelle von Git heruntergeladen. Ich bin mir nicht sicher, ob das ein Bug ist oder nicht. Aber das erneute Laden der Tabelle in viewdidappear löste das Problem.
%Vor%So sieht es auf dem Simulator aus, wenn Sie die obige Operation ausführen.
Ich sehe, dass Sie die Beschränkung nur in der Höhe und ohne Breite festlegen. Versuchen Sie es auch einzustellen.
Tags und Links ios uilabel autolayout