美文网首页
iOS 计算文字高度

iOS 计算文字高度

作者: 清晰00 | 来源:发表于2017-08-10 10:49 被阅读127次

1.最通用最准确的方法(包括表情空格)是用UITextView,布局时用UITextView代替label,关闭滑动和交互就可以了。

/**

@method 获取指定宽度width的字符串在UITextView上的高度

@param textView 待计算的UITextView

@param Width 限制字符串显示区域的宽度

@result float 返回的高度

*/

- (float) heightForString:(UITextView *)textView andWidth:(float)width{

CGSize sizeToFit = [textView sizeThatFits:CGSizeMake(width, MAXFLOAT)];

return sizeToFit.height;

}

2.计算AttributedString的文字高度,经过测试不是很准...

- (float) heightForString:(NSString*)value fontSize:(float)fontSize andWidth:(float)width{

UITextView*detailTextView = [[UITextViewalloc]init];

detailTextView.textContainerInset=UIEdgeInsetsZero;

detailTextView.font=font(fontSize);

NSMutableParagraphStyle*paragraphStyle = [[NSMutableParagraphStylealloc]init];

paragraphStyle.lineSpacing=5;//字体的行间距

NSDictionary*attributes =@{

NSFontAttributeName:[UIFontsystemFontOfSize:15],

NSParagraphStyleAttributeName:paragraphStyle

};

NSMutableAttributedString*attributeText = [[NSMutableAttributedStringalloc]initWithString:value attributes:attributes];

detailTextView.attributedText=attributeText;

CGSizedeSize = [detailTextViewsizeThatFits:CGSizeMake(width,MAXFLOAT)];

returndeSize.height;

}

相关文章

网友评论

      本文标题:iOS 计算文字高度

      本文链接:https://www.haomeiwen.com/subject/bvzcrxtx.html