создать программно UILabel - PullRequest
       6

создать программно UILabel

12 голосов
/ 15 сентября 2011

Я сделал с помощью кода следующее:

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

И это выглядит как это , но я хочу, чтобы оно выглядело как это .Как изменить свойства метки?

Ответы [ 9 ]

17 голосов
/ 15 сентября 2011

Попробуйте это:

    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];
7 голосов
/ 15 сентября 2011

Чтобы показать UILable как отображаемое на вашем изображении, вам нужно установить следующее свойство UILabel , а также увеличить высоту вашего ярлыка.

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

Должно быть похоже накак показано ниже.

    UILabel  * label = [[UILabel alloc] initWithFrame:CGRectMake(40, 70, 300, 100)];
     .................................
    label.numberOfLines=0;
    label.lineBreakMode=UILineBreakModeCharacterWrap;
    ............................
2 голосов
/ 12 декабря 2013

Одно незначительное изменение на iOS 6 или более поздней версии заключается в том, что

label.textAlignment = UITextAlignmentCenter;

устарело, поэтому вместо него используйте

label.textAlignment = NSTextAlignmentLeft;

.

2 голосов
/ 15 сентября 2011

если вы знаете номер строки, т.е. если номер строки равен 3, то вы можете написать

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

и если вы не знаете точную строку для метки, вы можете написать

label.numberOfLines=0;
label.lineBreakMode=UILineBreakModeCharacterWrap;
1 голос
/ 04 мая 2015

In Swift используйте это,

    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)
1 голос
/ 15 сентября 2011

Установите свойство Numberoflines вашей метки, а затем также увеличьте некоторую ширину этикетки, чтобы ваша метка могла отображаться правильно.

Это свойство управляет максимальным количеством строк, которое будет использоваться для размещения текста метки в его ограничивающем прямоугольнике. Значение по умолчанию для этого свойства равно 1. Чтобы удалить любой максимальный предел и использовать столько строк, сколько необходимо, установите значение этого свойства равным 0.

Если вы ограничите свой текст с помощью этого свойства, любой текст, который не помещается в максимальное количество строк и внутри ограничительного прямоугольника метки, усекается с использованием соответствующего режима разрыва строки.

подробнее

1 голос
/ 15 сентября 2011

Set numberOfLines свойство UILabel.

    label.lineBreakMode = UILineBreakModeWordWrap;
    label.numberOfLines = 3;
    label.text = @"Telechargez et consultez les catalogues et les tarifs de la gamme Audi au format PDF";
0 голосов
/ 01 декабря 2015
      UILabel *mycoollabel=[[UILabel alloc]initWithFrame:CGRectMake(10, 70, 50, 50)];

      mycoollabel.text=@"I am cool";//
     // for multiple lines,if text lenght is long use next line

      mycoollabel.numberOfLines=0;
      [self.View addSubView:mycoollabel];
0 голосов
/ 17 апреля 2015

вот как создать UILabel программно.

1) Запишите это в файл .h вашего проекта.

UILabel *label;

2) Запишите это в файл .m вашего проекта.

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. 
...