Ich habe es schon einmal benutzt, minimumFontSize
aber diese Funktion ist jetzt veraltet und ich verstehe nicht ganz, wie es minimumScaleFactor
funktioniert.
Ich möchte, dass die maximale Schriftgröße 10 und die minimale 7 beträgt.
Wie kann ich mit dem Skalierungsfaktor die Größenänderung auf Schriftgröße 7 erreichen?
UILabel
Schaffung:
UILabel *label = [[UILabel alloc] init];
[label setTranslatesAutoresizingMaskIntoConstraints:NO];
label.text = [labelName uppercaseString];
label.textAlignment = NSTextAlignmentCenter;
label.textColor = [UIColor whiteColor];
label.font = [UIFont fontWithName:HELVETICA_FONT_STYLE_BOLD size:9.5];
label.backgroundColor = [UIColor clearColor];
label.minimumScaleFactor = .1f;
[label addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[label(WIDTH)]"
options:0
metrics:@{@"WIDTH" : [NSNumber numberWithFloat:buttonSize.width]}
views:NSDictionaryOfVariableBindings(label)]];
[contentView addSubview:label];
ios
objective-c
uilabel
Padin215
quelle
quelle
Zusätzlich zu dem, was die anderen Antworten sagen, wenn Sie minSize / defaultSize (Division) als das setzen
minimumScaleFactor
, ist es dasselbe wie das Verwenden der altenminimumFontSize
.Wenn Sie beispielsweise möchten, dass die Mindestschriftgröße 10 bei Verwendung der Standardetikettengröße beträgt, können Sie Folgendes tun:
[label setMinimumScaleFactor:10.0/[UIFont labelFontSize]];
(Ersetzen
[UIFont labelFontSize]
Sie diese durch die Schriftgröße Ihres Etiketts, wenn dies nicht die Standardeinstellung ist.)das wäre das gleiche wie:
[label setMinimumFontSize:10.0];
quelle
Laut Dokumentation :
Wenn also die Standardschriftgröße für Ihr Etikett lautet
10
, geben Sie0.7f
als einminimumScaleFactor
und es sollte dasselbe tun wieminimumFontSize
zuvor.quelle
Zusätzlich zu anderen Antworten werde ich eine anfängerfreundliche Erklärung hinzufügen, die mir geholfen hat:
Wie berechnet man ein
minimumScaleFactor
? Teilen Sie die Mindestschriftgröße Ihres Etiketts durch die Standardschriftgröße Ihres Etiketts. Ihre Standardschriftgröße ist beispielsweise 25. Ihre Mindestschriftgröße beträgt 10.10/25 = 0,4
0,4 ist Ihr
minimumScaleFactor
Wert. Siehe auch die Antwort von @ Jsdodgers oben.quelle