iOS8.0 根据字符串长度计算label的尺寸

来源:互联网 发布:mac口红辩真假 编辑:程序博客网 时间:2024/04/29 17:20

在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
谢谢!
                                             
0 0
原创粉丝点击