iOS label根据显示内容自适应大小

来源:互联网 发布:电脑管家的数据恢复 编辑:程序博客网 时间:2024/05/16 05:08

iOS label根据显示内容自适应大小

原文
  http://www.cnblogs.com/czq1989/p/5019720.html

1 - (void)setupLabel {
2 //准备工作
3 UILabel *textLabel = [[UILabel alloc] init];
4 textLabel.font = [UIFont systemFontOfSize:16];
5 NSString *str = @”222222222222222222222222222222222222222222”;
6 textLabel.text = str;
7 textLabel.backgroundColor = [UIColor redColor];
8 textLabel.numberOfLines = 0;//根据最大行数需求来设置
9 textLabel.lineBreakMode = NSLineBreakByTruncatingTail;
10 CGSize maximumLabelSize = CGSizeMake(100, 9999);//labelsize的最大值
11 //关键语句
12 CGSize expectSize = [textLabel sizeThatFits:maximumLabelSize];
//sizeThatsFits根据textLabel的字符长度显示label的大小,当textLabel的字符长度大于maximumLabelSize时,自动换行。
13 //别忘了把frame给回label,如果用xib加了约束的话可以只改一个约束的值
14 textLabel.frame = CGRectMake(20, 70, expectSize.width, expectSize.height);
15 [self.view addSubview:textLabel];
16 }

0 0