UILabel

适应文本属性:

1、adjustsFontSizeToFitWidth

根据文本大小来适应字体大小,同一个label中,不同长度的label会产生不同的文本大小

label.backgroundColor = [UIColor redColor];
label.frame = CGRectMake(50, 100, 100, 30);
label.adjustsFontSizeToFitWidth = YES;  
UILabel_第1张图片
image.png
2、 [label2 sizeToFit];

根据文字长度来控制label高度,同一个label中,不同长度的文本会产生不同的label高度大小

  UILabel *label2 = [[UILabel alloc]initWithFrame:CGRectMake(100, 100, 100, 30)];
    label2.numberOfLines = 0;
    label2.backgroundColor = [UIColor blueColor];
   label2.text = @"的顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶的方法反反复复发反反复复方法反反复复的水水水水水水水水水水水水水水水水水水水水";
    [label2 sizeToFit]; //根据文本内容进行改变label的frame的大小,文字要在之前设置,否则就为frame的值就为空了

    [self.view addSubview:label2];
UILabel_第2张图片
image.png

如果单行显示的话,高度不变,宽度改变


UILabel_第3张图片
image.png
3、 numberOfLines

文本是否多行显示,0表示多行,1,2,3...表示代表几行

4、 NSString 得到文本绘制的宽高
//属性字典
    NSDictionary * AttributeDict = @{NSFontAttributeName:[UIFont systemFontOfSize:fontSize]};
    myLabel.lineBreakMode = NSLineBreakByClipping;

    //得到处理好的大小
    CGSize  remarkAutoSize = [myLabelText boundingRectWithSize:CGSizeMake([UIApplication sharedApplication].keyWindow.bounds.size.width, 10000) options:NSStringDrawingUsesLineFragmentOrigin attributes:AttributeDict context:nil].size;
    myLabel.numberOfLines = 0;
    myLabel.font = [UIFont systemFontOfSize:fontSize];

你可能感兴趣的:(UILabel)