动态计算文本宽度和高度

使用场景:例如在tableView的cell中,指定Label最大宽度,高度不限,超过最大宽度则自动换行,先用这个方法来设置Label的size,然后给Label赋值String,即可得到自适应的Label

/**

 *  返回UILabel自适应后的size

 *

 *  @param aString 字符串

 *  @param width   指定最大宽度

 *  @param height  指定最大高度

 *  @param font 指定字体大小

 *  @return CGSize

 */

- (CGSize)sizeLabelToFit:(NSString *)aString width:(CGFloat)width height:(CGFloat)height font:(UIFont *)font{

    UILabel *tempLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, width, height)];

    tempLabel.font = font;

    tempLabel.numberOfLines = 0;

    tempLabel.lineBreakMode = NSLineBreakByWordWrapping;

    tempLabel.text = aString;

    [tempLabel sizeToFit];

    CGSize size = tempLabel.frame.size;

    size = CGSizeMake(ceilf(size.width),ceilf(size.height));

    return size;

}

 

posted @ 2017-08-07 08:35  XuDeHong  阅读(497)  评论(0编辑  收藏  举报