有時候開發中我們為了樣式好看, 需要對文本設置富文本屬性, 設置完后那么怎樣計算其高度呢, 很簡單, 方法如下:
- (NSInteger)hideLabelLayoutHeight:(NSString *)content withTextFontSize:(CGFloat)mFontSize { NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; paragraphStyle.lineSpacing = 10; // 段落高度 NSMutableAttributedString *attributes = [[NSMutableAttributedString alloc] initWithString:content]; [attributes addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:mFontSize] range:NSMakeRange(0, content.length)]; [attributes addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, content.length)]; CGSize attSize = [attributes boundingRectWithSize:CGSizeMake(200, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading context:nil].size; return attSize.height; }
使用時:
[self hideLabelLayoutHeight:nameStr withTextFontSize:14]