2011-09-15 18 views
12

ho fatto dal codice seguente:creare a livello di codice 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]; 

e sembra che this ma voglio farlo sembrare come this. Come modificare le proprietà dell'etichetta?

risposta

7

Per mostrare l'UILable come mostrato nell'immagine, è necessario impostare la seguente proprietà di UILabel e anche aumentare l'altezza della vostra etichetta.

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

dovrebbe essere come da seguente ..

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

A partire dal Settembre-05-2013 UILineBreakModeCharacterWrap sua obsolete. Invece puoi usare label.lineBreakMode = NSLineBreakByCharWrapping che farà la stessa cosa dell'altro. – Jiraheta

+0

Grazie, puoi modificare la mia risposta. – Jhaliya

1

Set numberOfLines proprietà di 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

se si conosce il numero della linea cioè se il numero di riga è 3, allora si può scrivere

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

e se u non conoscono la linea esatta per l'etichetta allora si può scrivere

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

Imposta la proprietà Numberoflines dell'etichetta e aumenta anche la larghezza dell'etichetta in modo che l'etichetta possa essere visualizzata correttamente.

Questa proprietà controlla il numero massimo di righe da utilizzare per adattare il testo dell'etichetta al rettangolo di delimitazione. Il valore predefinito per questa proprietà è 1. Per rimuovere qualsiasi limite massimo e utilizzare tutte le linee necessarie, impostare il valore di questa proprietà su 0.

Se si vincola il testo utilizzando questa proprietà, qualsiasi testo che non adattarsi al numero massimo di righe e all'interno del rettangolo di delimitazione dell'etichetta viene troncato utilizzando la modalità di interruzione di riga appropriata.

read more

17

Prova questo:

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

ragazzi usano NSTextAlignmentCenter per UITextAlignmentCenter e così via per deprecazione avvertimento – khunshan

2

Un piccolo cambiamento su iOS 6 o versioni successive che il

label.textAlignment = UITextAlignmentCenter; 

è deprecato in modo da utilizzare

label.textAlignment = NSTextAlignmentLeft; 

anziché.

0

ecco come creare UILabel di programmazione ..

1) Scrivi questo file h del progetto.

UILabel *label; 

2) Scrivere questo file in .m del progetto.

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

In Swift uso questo,

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]; 
Problemi correlati