iOS根据文本长度动态计算label的大小
Posted _Unique_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS根据文本长度动态计算label的大小相关的知识,希望对你有一定的参考价值。
今天有人问我该怎么根据label.Text的文本,动态计算label的size,因为有的时候,会用到这个功能,例如,再tableView中,动态改变cell的高的的时候,会经常用到,于是,我就简单谢了一个Demo,下面是主要代码:
NSString * labelText = @”这段代码主要是用来测试用的,根据文本内容,动态计算label的高度,这段代码主要是用来测试用的,根据文本内容,动态计算label的高度,这段代码主要是用来测试用的,根据文本内容,动态计算label的高度,”;
UILabel * label = [[UILabel alloc] init];
label.frame = CGRectMake(10, 100, 200, 200);
label.backgroundColor = [UIColor redColor];
label.text = labelText;
CGSize size = [label.text boundingRectWithSize:CGSizeMake(300, MAXFLOAT) options: NSStringDrawingUsesLineFragmentOrigin attributes:[NSDictionary dictionaryWithObject:label.font forKey:NSFontAttributeName] context:nil].size;
NSLog(@"%f",size.height);
label.frame = CGRectMake(10, 100, size.width, size.height);
label.numberOfLines = 0;
[self.view addSubview:label];
注意:NSDictionary 部分一定要用label.font,这是为了防止计算的时候的属性和label的font的属性不同,计算结果和需要的大小有偏差,如果手动写属性,也可以,但是要把label.font和手写的属性设置相同。
以上是关于iOS根据文本长度动态计算label的大小的主要内容,如果未能解决你的问题,请参考以下文章