J'ai utilisé minimumFontSize
avant mais cette fonction est maintenant obsolète et je ne comprends pas très bien comment minimumScaleFactor
fonctionne.
Je veux que la taille de police maximale soit 10 et la minimum à 7.
Comment puis-je redimensionner à la taille de police 7 avec le facteur d'échelle?
UILabel
création:
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
la source
la source
En plus de ce que disent les autres réponses, si vous mettez minSize / defaultSize (division) comme le
minimumScaleFactor
, ce sera la même chose que d'utiliser l'ancienminimumFontSize
.Par exemple, si vous souhaitez que la taille de police minimale soit de 10 en utilisant la taille d'étiquette par défaut, vous pouvez faire:
[label setMinimumScaleFactor:10.0/[UIFont labelFontSize]];
(Remplacez
[UIFont labelFontSize]
par la taille de police de votre étiquette si ce n'est pas la valeur par défaut).ce qui serait le même que:
[label setMinimumFontSize:10.0];
la source
Selon la documentation :
Donc, si la taille de police par défaut pour votre étiquette est
10
, vous mettez en0.7f
tant queminimumScaleFactor
et il devrait faire la même chose queminimumFontSize
.la source
En plus d'autres réponses, je vais ajouter une explication adaptée aux débutants qui m'a aidé:
Comment calculer un
minimumScaleFactor
? Divisez la taille de police minimale de votre étiquette par la taille de police par défaut de votre étiquette. Par exemple, votre taille de police par défaut est 25. Votre taille de police minimale est 10.10/25 = 0,4
0.4 est votre
minimumScaleFactor
valeur. Voir également la réponse de @ Jsdodgers ci-dessus.la source