adjustsFontSizeToFitWidth nicht richtig arbeiten
Ich bin die Entwicklung einer app für iOS - > 5.0 und Verwendung von Xcode 4.6.2
Zu erklären, mein problem, ich habe eine UIScrollView
enthält nur einen Haufen UILabel
. Der text, den ich werde die Anzeige in diesen UILabel
s sind dynamisch, aber UILabel
's frame ist konstant, so dass, wenn der aktuelle text nicht in das Bild passen Breite, die ich brauche, um meine Waage font-size nach unten. Also, ich habe festgestellt adjustsFontSizeToFitWidth
Eigenschaft von UILabel
.
Hier ist die Erklärung, die ich nahm direkt aus UILabel
Klasse Referenz.
Einen booleschen Wert, der angibt, ob das font-size sollte reduziert werden, um zu passen die Titel-Zeichenfolge in der Bezeichnung des Begrenzungsrechtecks.
Yeap, ich dachte, das ist was ich genau suchen, da der text, den ich werde die Anzeige in UILabel
ist immer eine Zeile. Also ich bin mir dessen bewusst, diese Eigenschaft sollte verwendet werden, mit numberOfLines
- Eigenschaft 1.
Hier ist mein code, damit dies geschieht.
for (NSString *currentImage in self.imagesNames)
{
UILabel *lbl = [[UILabel alloc]initWithFrame:CGRectMake(imageNumber*resultTypeImageWidth, 10, 75, 35)];
[lbl setFont:[UIFont fontWithName:@"GothamRounded-Bold" size:25]];
[lbl setNumberOfLines:1];
[lbl setText:currentImage];
[lbl setBackgroundColor:[UIColor clearColor]];
[lbl setTextColor:[UIColor colorWithHue:0.07 saturation:1 brightness:0.49 alpha:1.0]];
[lbl adjustsFontSizeToFitWidth];
[lbl setTextAlignment:NSTextAlignmentCenter];
imageNumber++;
[self.resultTypeScrollView addSubview:lbl];
}
imageNumber
ist ein int, dass ich mit dieser UILabel
s an entsprechender Stelle in meine UIScrollView
die Namen resultTypeScrollView
. resultTypeImageWidth
ist eine Konstante, die ich definiert haben und 100 zu geben, etwas Platz zwischen UILabel
s.
So, mein problem ist wenn der text passt nicht in den label-Rahmen, wird es abgeschnitten. Ich erwartete, dass, wenn der text nicht passt der Rahmen, Schriftgröße verkleinere, um es zu passen. Zumindest ist das, was ich verstehe, aus UILabel
Klasse Referenz. Offenbar bin ich etwas fehlt, aber was ?
So weit,
- Wie ich bin mit benutzerdefinierten schriftart, vermute ich, dass mit benutzerdefinierten schriftart wäre ein problem. Also wechselte ich auf eine der system-schriftart, hat es keine Wirkung.
- Ich versuchte, zu
NSLineBreakMode
zuNSLineBreakByClipping
um zu verhindern, dass text immer abgeschnitten. Nach, dass der text nicht abgeschnitten, aber einige Zeichen fehlen, wurde abgeschnitten, bevor. - Ich habe auch
minimumScaleFactor
andere Werte einstellen, um zu sehen, ob es irgendeinen Effekt, aber keine Auswirkungen auf alle.
- dies sollte nur arbeiten, ohne zu ändern viele Standardeinstellungen. eine Sache, die mir auffällt, ist der code nicht gesetzt adjustsFontSizeToFitWidth, nur es bekommt. die Einstellung würde dann so Aussehen lbl.adjustsFontSizeToFitWidth = JA;
- das Problem war, weiß ich nicht, wie ich es verpasst, dein Kommentar als Antwort, ich werde es akzeptieren, danke 🙂
- froh, dass es geholfen hat. danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollte dies einfach funktionieren ohne änderung viele Standardeinstellungen. Der gepostet code nicht
adjustsFontSizeToFitWidth
es nur es bekommt. Die Einstellung würde dann so Aussehen: