最近有一个需求,需要计算一个文本的宽度。然后使用UILabel中的boundingRectWithSize计算。
CGSize strSize=CGSizeMake(MAXFLOAT, 60);
NSDictionary *attr = @{NSFontAttributeName:[UIFont systemFontOfSize:16]};
CGRect rect = [self.textLabel.text boundingRectWithSize:strSize options:NSStringDrawingUsesLineFragmentOrigin attributes:attr context:nil];
写完之后,试了几次发现宽度都不能完全显示出来。
后来发现问题的所在了,一定要在UILabel中设置font,并且要和你计算宽度取值的font一致。
self.textLabel.font = [UIFont systemFontOfSize:16];
之后出来的宽度就正确了。