2011-09-15 20 views
12

lo hice por el código siguiente:crear mediante programación un UILabel

UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(40, 70, 300, 50)]; 
    label.backgroundColor = [UIColor clearColor]; 
    label.textAlignment = UITextAlignmentCenter; // UITextAlignmentCenter, UITextAlignmentLeft 
    label.textColor=[UIColor whiteColor]; 
    label.text = @"Telechargez et consultez les catalogues et les tarifs de la gamme Audi au format PDF"; 
    [self.view addSubview:label]; 

y parece que this pero quiero que se vea como this. ¿Cómo cambiar las propiedades de la etiqueta?

Respuesta

7

Para mostrar el UILable como su muestra en la imagen, es necesario establecer la siguiente propiedad de UILabel y también aumentar la altura de la etiqueta.

@property(nonatomic) NSInteger numberOfLines; 
@property(nonatomic) UILineBreakMode lineBreakMode; 

debe ser como la siguiente ..

UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(40, 70, 300, 100)]; 
    ................................. 
    label.numberOfLines=0; 
    label.lineBreakMode=UILineBreakModeCharacterWrap; 
    ............................ 
+2

a Sep-05-2013 UILineBreakModeCharacterWrap su desuso. En su lugar, puede utilizar label.lineBreakMode = NSLineBreakByCharWrapping que hará lo mismo que el otro. – Jiraheta

+0

Gracias, puedes editar mi respuesta. – Jhaliya

1

Conjunto numberOfLines propiedad de UILabel.

label.lineBreakMode = UILineBreakModeWordWrap; 
    label.numberOfLines = 3; 
    label.text = @"Telechargez et consultez les catalogues et les tarifs de la gamme Audi au format PDF"; 
2

si se conoce el número de línea es decir, si el número de la Línea 3 es entonces usted puede escribir

label.numberOfLines=3; 
label.lineBreakMode=UILineBreakModeCharacterWrap; 

y si u no saben la línea exacta de la etiqueta entonces se puede escribir

label.numberOfLines=0; 
label.lineBreakMode=UILineBreakModeCharacterWrap; 
1

Establezca la propiedad Numberoflines de su etiqueta y luego también aumente el ancho de su etiqueta para que su etiqueta se muestre correctamente.

Esta propiedad controla el número máximo de líneas que se utilizarán para ajustar el texto de la etiqueta en su rectángulo delimitador. El valor predeterminado para esta propiedad es 1. Para eliminar cualquier límite máximo y usar tantas líneas como sea necesario, establezca el valor de esta propiedad en 0.

Si restringe el texto con esta propiedad, cualquier texto que no lo haga se ajusta dentro del número máximo de líneas y dentro del rectángulo delimitador de la etiqueta se trunca utilizando el modo de salto de línea apropiado.

read more

17

Prueba esto:

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(40, 30, 300, 50)]; 
    label.backgroundColor = [UIColor clearColor]; 
    label.textAlignment = NSTextAlignmentCenter; 
    label.textColor = [UIColor whiteColor]; 
    label.numberOfLines = 0; 
    label.lineBreakMode = UILineBreakModeWordWrap; 
    label.text = @"Telechargez et consultez les catalogues et les tarifs de la gamme Audi au format PDF"; 
    [self.view addSubview:label]; 
+0

chicos el uso de NSTextAlignmentCenter UITextAlignmentCenter y así sucesivamente para la alerta desaprobación – khunshan

2

un cambio menor en iOS 6 o posterior es que el

label.textAlignment = UITextAlignmentCenter; 

es obsoleto a fin de utilizar

label.textAlignment = NSTextAlignmentLeft; 

en lugar.

0

aquí es cómo crear mediante programación UILabel ..

1) Escribe esto en el archivo .h de su proyecto.

UILabel *label; 

2) Escriba esto en el archivo .m de su proyecto.

label=[[UILabel alloc]initWithFrame:CGRectMake(10, 70, 50, 50)];//Set frame of label in your viewcontroller. 
[label setBackgroundColor:[UIColor lightGrayColor]];//Set background color of label. 
[label setText:@"Label"];//Set text in label. 
[label setTextColor:[UIColor blackColor]];//Set text color in label. 
[label setTextAlignment:NSTextAlignmentCenter];//Set text alignment in label. 
[label setBaselineAdjustment:UIBaselineAdjustmentAlignBaselines];//Set line adjustment. 
[label setLineBreakMode:NSLineBreakByCharWrapping];//Set linebreaking mode.. 
[label setNumberOfLines:1];//Set number of lines in label. 
[label.layer setCornerRadius:25.0];//Set corner radius of label to change the shape. 
[label.layer setBorderWidth:2.0f];//Set border width of label. 
[label setClipsToBounds:YES];//Set its to YES for Corner radius to work. 
[label.layer setBorderColor:[UIColor blackColor].CGColor];//Set Border color. 
[self.view addSubview:label];//Add it to the view of your choice. 
1

En Swift uso esto,

var label:UILabel = UILabel(frame: CGRectMake(0, 0, 70, 20)) 
    label.center = CGPointMake(50, 70) 
    label.textAlignment = NSTextAlignment.Center 
    label.text = "message" 
    label.textColor = UIColor.blackColor() 
    self.view.addSubview(label) 
0
 UILabel *mycoollabel=[[UILabel alloc]initWithFrame:CGRectMake(10, 70, 50, 50)]; 

     [email protected]"I am cool";// 
    // for multiple lines,if text lenght is long use next line 

     mycoollabel.numberOfLines=0; 
     [self.View addSubView:mycoollabel]; 
Cuestiones relacionadas