tipos tipo teclado tamaño plus para mas letras letra las hacer grandes fuente computadora como cambiar aumentar aplicacion iphone objective-c cocoa-touch interface-builder

iphone - tipo - ¿Cómo puedo hacer texto en un tamaño de fuente UILabel reducir



tamaño letra iphone (4)

Establezca la propiedad adjustsFontSizeToFitWidth en YES.

Si una UILabel contiene demasiado texto, ¿cómo puedo configurar mi etiqueta para que reduzca el tamaño de las fuentes?

Aquí es cómo estoy configurando mi UILabel:

descriptionLabel = [[UILabel alloc] initWithFrame:CGRectMake(200, 30, 130, 150)]; [descriptionLabel setFont:[Utils getSystemFontWithSize:14]]; [descriptionLabel setBackgroundColor:[UIColor clearColor]]; [descriptionLabel setTextColor:[UIColor whiteColor]]; descriptionLabel.numberOfLines = 1; [self addSubview:descriptionLabel];


Para cambiar el tamaño del texto en una UILabel multilínea, puede usar este método auxiliar (basado en el code de 11 Pixel Studios):

+ (void)resizeFontForLabel:(UILabel*)aLabel maxSize:(int)maxSize minSize:(int)minSize { // use font from provided label so we don''t lose color, style, etc UIFont *font = aLabel.font; // start with maxSize and keep reducing until it doesn''t clip for(int i = maxSize; i >= minSize; i--) { font = [font fontWithSize:i]; CGSize constraintSize = CGSizeMake(aLabel.frame.size.width, MAXFLOAT); // This step checks how tall the label would be with the desired font. CGSize labelSize = [aLabel.text sizeWithFont:font constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap]; if(labelSize.height <= aLabel.frame.size.height) break; } // Set the UILabel''s font to the newly adjusted font. aLabel.font = font; }


Si desea que la cantidad de líneas también aumente si es necesario, use la solución de Steve N, con la declaración if:

if(labelSize.height <= aLabel.frame.size.height) { aLabel.numberOfLines = labelSize.height / font.lineHeight; break; }


descriptionLabel.adjustsFontSizeToFitWidth = YES; descriptionLabel.minimumFontSize = 10.0; //adjust to preference obviously

El siguiente ejemplo se prueba y verifica en iPhone Simulator 3.1.2:

UILabel *descriptionLabel = [[UILabel alloc] initWithFrame:CGRectMake(90, 0, 200, 30)]; descriptionLabel.font = [UIFont systemFontOfSize:14.0]; descriptionLabel.minimumFontSize = 10.0; descriptionLabel.adjustsFontSizeToFitWidth = YES; descriptionLabel.numberOfLines = 1; descriptionLabel.text = @"supercalifragilisticexpialidocious even thought he sound of it is something quite attrocious";