UILabel tamaño de fuente?


87

Parece que no puedo modificar el tamaño de fuente de un UILabel con el siguiente código:

itemTitle.font = [UIFont systemFontOfSize:25];

A medida que aumento el número 25 a algo mayor, parece que solo agrega un margen superior a la etiqueta, lo que, en consecuencia, empuja el texto hacia abajo tanto, de modo que el texto se corta en la parte inferior o se desborda por completo.

tengo otro UILabel en otro lugar con systemFontOfSize 25, y es mucho más pequeño que el texto itemTitle. ¿Que esta pasando? ¿No se supone que 25 es un valor absoluto?

Estoy tan confundido sobre cómo cambiar programáticamente el tamaño de fuente de los uilabels.

Respuestas:


56

Compruebe que sus etiquetas no estén configuradas para cambiar de tamaño automáticamente. En IB, se llama "Autoencogimiento" y está justo al lado de la configuración de fuente. Programáticamente, se llama adjustsFontSizeToFitWidth.


176

He modificado el UILabel con el siguiente código:

label.font=[label.font fontWithSize:25];

Pruebe esto y vea si está funcionando en su caso o no.


4
label.font = label.font.fontWithSize(25)para Swift
Tom Howard

Swift 3label.font = label.font.withSize(25)
Marcio Klepacz


17

Para Swift 3.1 y Swift 4 , si solo desea cambiar el tamaño de fuente de una etiqueta:

let myLabel : UILabel = ...
myLabel.font = myLabel.font.withSize(25)

12

** Puede establecer el tamaño de fuente con estas propiedades **

timedisplayLabel= [[UILabel alloc]initWithFrame:CGRectMake(70, 194, 180, 60)];

[timedisplayLabel setTextAlignment:NSTextAlignmentLeft];

[timedisplayLabel setBackgroundColor:[UIColor clearColor]];

[timedisplayLabel setAdjustsFontSizeToFitWidth:YES];

[timedisplayLabel setTextColor:[UIColor blackColor]];

[timedisplayLabel setUserInteractionEnabled:NO];

[timedisplayLabel setFont:[UIFont fontWithName:@"digital-7" size:60]];

timedisplayLabel.layer.shadowColor =[[UIColor whiteColor ]CGColor ];

timedisplayLabel.layer.shadowOffset=(CGSizeMake(0, 0));

timedisplayLabel.layer.shadowOpacity=1;

timedisplayLabel.layer.shadowRadius=3.0;

timedisplayLabel.layer.masksToBounds=NO;

timedisplayLabel.shadowColor=[UIColor darkGrayColor];

timedisplayLabel.shadowOffset=CGSizeMake(0, 2);

5

método muy simple pero efectivo para ajustar el tamaño del texto de la etiqueta de manera programada: -

label.font=[UIFont fontWithName:@"Chalkduster" size:36];

:-)


5

Esto funcionó para mí en

Swift 3

label.font = label.font.fontWithSize(40.0)

Rápido 4

label.font = label.font.withSize(40.0)

1

Esto funcionó para mí:

sequencerPlayLabel.font = [UIFont fontWithName:kTypeFont size:kTypeFontSize];

-Rico


1

Las respuestas anteriores ayudaron mucho.

Aquí está la versión Swift.

@IBOutlet weak var priceLabel: UILabel!

*.... lines of code later*

self.priceLabel.font = self.priceLabel.font.fontWithSize(22)

1

En C # estas formas pueden resolver el problema, en UIkit estos métodos están disponibles.

Label.Font = Label.Font.WithSize(5.0f);
       Or
Label.Font = UIFont.FromName("Copperplate", 10.0f);  
       Or
Label.Font = UIFont.WithSize(5.0f);

-1

Intente cambiar la altura y el ancho del tamaño del marco de la etiqueta para que el texto no se corte.

 [label setframe:CGRect(x,y,widht,height)];
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.