2011-05-21 16 views
13

Tengo un código UILabel programáticamente. Quiero cambiar el tamaño de la etiqueta cuando presioné un botón. cómo cambiar el tamaño de esa etiqueta? este es mi códigocómo cambiar el tamaño de UILabel

UILabel *theLabel11 = [[UILabel alloc] initWithFrame:CGRectMake(0,0,100,30)]; 
[theLabel11 setText:@"US"]; 
[theLabel11 setTextAlignment:UITextAlignmentCenter]; 
[theLabel11 setFont: [UIFont fontWithName:@"Arial" size:13.0f]]; 
[theLabel11 setBackgroundColor:[UIColor orangeColor]]; 
[theLabel11 setTextColor:[UIColor blackColor]]; 
[scroll1 addSubview:theLabel11];  

Respuesta

17

Usted debe declare su etiqueta como propiedad de clase, por lo que se puede acceder desde otros métodos

Para cambiar la fo nt uso Tamaño

[theLabel11 setFont: [UIFont fontWithName:@"Arial" size:13.0f]]; 

Para cambiar el tamaño del marco de la etiqueta nos

theLabel11.frame = CGRectMake(x, y, width, height); 
11

un lenguaje común para el ajuste de la información espacial en un UIView es la siguiente

label.frame = CGRectMake(
    x, 
    y, 
    width, 
    height 
); 

Usted puede obtener la posición de edad y la altura a través de

label.frame.origin.x 
label.frame.origin.y 
label.frame.size.width 
label.frame.size.height 
0

Si sólo hay una etiqueta añadida a scroll1 a continuación, repetir el ScrollView para obtener la referencia de la etiqueta de la siguiente manera en la acción del botón

for(UIView *subView in scroll1.subViews){ 

if([subView isKindOfClass:[UILabel class]]){ 
UILabel *lbl=(UILabel*)subView; 
//change size of label here 
} 
} 

si hay muchas etiquetas asignar una etiqueta a cada etiqueta mientras que la creación y comprobar que en bucle for

+0

... u olvida ese bucle y usa mejor viewWithTag: – Till

Cuestiones relacionadas