在iOS7.0后,根据字符串长度计算label 的尺寸进行了更改。在网上找了一些,都是复制代码,而且都不很好用,自己写了一个简单方法 可以直接调用。
- (CGSize)labelAutoCalculateRectWith:(NSString *)text FontSize:(CGFloat)fontSize MaxSize:(CGSize)maxSize
{
NSMutableParagraphStyle * paragraphStyle = [[NSMutableParagraphStyle alloc]init];
paragraphStyle.lineBreakMode = NSLineBreakByWordWrapping;
NSDictionary * attributes = @{NSFontAttributeName:[UIFont systemFontOfSize:fontSize], NSParagraphStyleAttributeName:paragraphStyle.copy};
CGSize labelSize = [text boundingRectWithSize:maxSize options:NSStringDrawingUsesLineFragmentOrigin |NSStringDrawingUsesFontLeading |NSStringDrawingTruncatesLastVisibleLine attributes:attributes context:nil].size;
[paragraphStyle release];
labelSize.height = ceil(labelSize.height);
labelSize.width = ceil(labelSize.width);
return labelSize;
}
三个参数,第一个参数:要计算的字符串,第二个参数,lalbel的字体大小,第三个参数,label允许的最大尺寸。返回的为label的尺寸
<pre class="line mt-10 q-supply-content" name="code" style="white-space: pre-wrap; word-wrap: break-word; margin-top: 10px; margin-bottom: 0px; padding: 0px; font-family: arial, 'courier new', courier, 宋体, monospace; word-break: break-all; font-size: 13.63636302947998px;">转自http://blog.csdn.net/zyjn2014/article/details/35570773
谢谢!