UILabel - text verkleinern statt Schwanz abschneiden
Habe ich ein UILabel gesetzt mit einer Schrift von system Fett 14.0, eine Mindest-Schriftgröße von 12.
Ich will das label zu füllen, 7 Zeilen, und wenn es zu groß ist, verkleinern Sie den text nach unten auf 12 Pixel, in welchem Fall es kann auch mehr als 7 Zeilen, aber immer noch fit, im original-Rahmen.
Ich habe versucht, die Einstellung der Anzahl von Zeilen zu 7 und 0. So oder so, der text füllt einfach die 7 Zeilen in der Standard-Größe (14) und schneidet den Schwanz. Wie bekomme ich den text verkleinern 12px damit ich sehen kann, mehr text?
(Ich würde post mehr code, aber die meisten von Ihnen sind in der IB).
EDIT: ich habe die Autoshrink-option "Minimale Schriftgröße" mit einer Größe von 12. Auch wenn ich dies etwas offensichtlich, wie 8, kein Schrumpf passiert.
- Sie haben gesagt, Sie legen die Mindest-Schriftgröße von 12. Wie hast du das gemacht? Hast du das durch IB in "automatische Verkleinerung" inspector Eigenschaften des UILabel?
- Ja, siehe edit oben.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Check mit
Für mehr details überprüfen Sie die apple-Dokumentation für
NSString
. Es gibt einige andere convenience-Methoden auch für dieNSString
.Update:
Basierend auf Ihrer Bearbeiten, eine Arbeit, um für Ihr Problem ist die folgende Eigenschaft,
label.adjustsFontSizeToFitWidth = YES;
Können Sie
.adjustsFontSizeToFitWidth=YES
dieses wird passen Sie die Schriftgröße entsprechend der Breite des Etiketts. Zum Beispiel, wenn Sie ein Etikett mitnumberOfLines=2
und der text ist zu lang, die Schriftgröße der Beschriftung reduziert werden, so dass alle den text.Also scheinbar automatische Verkleinerung, die Mindest-Schriftgröße, etc. funktioniert nur im 1-Linien-UILabel. Ich habe eine Lösung gefunden hier, obwohl es wäre schön, wenn Sie konnte, Griff dieser in IB oder in der UILabel-API.
sizeWithFont:minFontSize:actualFontSize:forWidth:lineBreakMode:
da will man min schriftart als 12 pixel wie pro Ihre Frage.