web-dev-qa-db-ja.com

プログラムで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];

そして、それは this のように見えますが、私はそれを this のように見せたいです。ラベルのプロパティを変更するにはどうすればよいですか?

12
adrian

UILableを画像に表示されているとおりに表示するには、次のプロパティ ILabel を設定し、ラベルの高さを増やす必要があります。

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

以下のようになります。

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

これを試して:

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

行数がわかっている場合、つまり行数が3の場合は、次のように記述できます。

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

ラベルの正確な行がわからない場合は、次のように書くことができます。

label.numberOfLines=0;
label.lineBreakMode=UILineBreakModeCharacterWrap;
2
Sonu

IOS 6以降でのマイナーな変更の1つは、

label.textAlignment = UITextAlignmentCenter;

非推奨になっているため、

label.textAlignment = NSTextAlignmentLeft;

代わりに。

2
hyphestos

UILabelのnumberOfLinesプロパティを設定します。

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

ラベルのNumberoflinesプロパティを設定してから、ラベルが適切に表示されるようにラベルの幅を広げます。

このプロパティは、ラベルのテキストをその境界の長方形に合わせるために使用する最大行数を制御します。このプロパティのデフォルト値は1です。最大制限を削除し、必要な数の行を使用するには、このプロパティの値を0に設定します。

このプロパティを使用してテキストを制約すると、最大行数内およびラベルの境界矩形内に収まらないテキストは、適切な改行モードを使用して切り捨てられます。

続きを読む

1
AJPatel

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
Zaid Pathan
      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
sandeep nag

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