Lo he usado minimumFontSizeantes, pero esa función ahora está en desuso y no entiendo muy bien cómo minimumScaleFactorfunciona.
Quiero que el tamaño máximo de fuente sea 10 y el mínimo 7.
¿Cómo puedo reducir el tamaño al tamaño de fuente 7 con el factor de escala?
UILabel creación:
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
fuente
                
                
            fuente

Además de lo que dicen las otras respuestas, si coloca minSize / defaultSize (division) como
minimumScaleFactor, será lo mismo que usar el antiguominimumFontSize.Por ejemplo, si desea que el tamaño de fuente mínimo sea 10 usando el tamaño de etiqueta predeterminado, puede hacer lo siguiente:
[label setMinimumScaleFactor:10.0/[UIFont labelFontSize]];(Reemplace
[UIFont labelFontSize]con el tamaño de fuente de su etiqueta si no es el predeterminado).que sería lo mismo que:
[label setMinimumFontSize:10.0];fuente
Según la documentación :
Entonces, si el tamaño de fuente predeterminado para su etiqueta es
10, póngalo0.7fcomominimumScaleFactory debería hacer lo mismo queminimumFontSizehizo.fuente
Además de otras respuestas, voy a agregar una explicación para principiantes que me ayudó a mí mismo:
¿Cómo calcular a
minimumScaleFactor? Divida el tamaño de fuente mínimo de su etiqueta por el tamaño de fuente predeterminado de su etiqueta. Por ejemplo, su tamaño de fuente predeterminado es 25. Su tamaño de fuente mínimo es 10.10/25 = 0,4
0.4 es su
minimumScaleFactorvalor. También vea la respuesta de @ Jsdodgers arriba.fuente