iOS 动态计算Label富文本高度
2017-03-20 16:48
531 查看
- (NSAttributedString *)attributedTextArray:(NSArray *)texts
textColors:(NSArray *)colors
textfonts:(NSArray *)fonts
lineSpacing:(CGFloat)l_spacing{
if(texts.count ==
0){
return
nil;
}
NSMutableAttributedString *resultAttributedStr = [[NSMutableAttributedString
alloc]
init];
for(int i=0; i<texts.count;
i++)
{
NSString *text = texts[i];
NSMutableAttributedString *mAttributedStr = [[NSMutableAttributedString
alloc]
initWithString:text];
[mAttributedStr addAttribute:NSForegroundColorAttributeName
value:colors[i] range:NSMakeRange(0,
text.length)];
[mAttributedStr addAttribute:NSFontAttributeName
value:fonts[i] range:NSMakeRange(0,
text.length)];
[resultAttributedStr appendAttributedString:mAttributedStr];
}
if(l_spacing>0){
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle
alloc]
init];
paragraphStyle.lineSpacing = l_spacing;
[resultAttributedStr addAttribute:NSParagraphStyleAttributeName
value:paragraphStyle
range:NSMakeRange(0, resultAttributedStr.length)];
}
return resultAttributedStr;
}
- (CGSize)sizeLabelWidth:(CGFloat)width
attributedText:(NSAttributedString *)attributted{
if(width<=0){
return
CGSizeZero;
}
UILabel *lab = [[UILabel
alloc] initWithFrame:CGRectMake(0,
0, width, MAXFLOAT)];
lab.attributedText = attributted;
lab.numberOfLines =
0;
CGSize labSize = [lab
sizeThatFits:lab.bounds.size];
return labSize;
}
textColors:(NSArray *)colors
textfonts:(NSArray *)fonts
lineSpacing:(CGFloat)l_spacing{
if(texts.count ==
0){
return
nil;
}
NSMutableAttributedString *resultAttributedStr = [[NSMutableAttributedString
alloc]
init];
for(int i=0; i<texts.count;
i++)
{
NSString *text = texts[i];
NSMutableAttributedString *mAttributedStr = [[NSMutableAttributedString
alloc]
initWithString:text];
[mAttributedStr addAttribute:NSForegroundColorAttributeName
value:colors[i] range:NSMakeRange(0,
text.length)];
[mAttributedStr addAttribute:NSFontAttributeName
value:fonts[i] range:NSMakeRange(0,
text.length)];
[resultAttributedStr appendAttributedString:mAttributedStr];
}
if(l_spacing>0){
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle
alloc]
init];
paragraphStyle.lineSpacing = l_spacing;
[resultAttributedStr addAttribute:NSParagraphStyleAttributeName
value:paragraphStyle
range:NSMakeRange(0, resultAttributedStr.length)];
}
return resultAttributedStr;
}
- (CGSize)sizeLabelWidth:(CGFloat)width
attributedText:(NSAttributedString *)attributted{
if(width<=0){
return
CGSizeZero;
}
UILabel *lab = [[UILabel
alloc] initWithFrame:CGRectMake(0,
0, width, MAXFLOAT)];
lab.attributedText = attributted;
lab.numberOfLines =
0;
CGSize labSize = [lab
sizeThatFits:lab.bounds.size];
return labSize;
}
相关文章推荐
- ios 动态计算文本的高度或宽度
- iOS 动态计算文本高度
- iOS开发动态计算cell高度或UILabel多行文本计算高度、宽度的技巧
- IOS动态获取文本的高度--自适应文本宽度、高度Textview
- iOS 依据文本内容为TextView动态定义高度
- iOS学习之-Cell动态高度计算
- IOS 根据 指定的 字体类型 ,size ,计算 绘制 文本 所需要的 宽度与高度
- ios 计算 文本高度!
- iOS 根据文本内容为TextView动态定义高度
- iOS中动态计算不同颜色、字体的文字高度
- iOS UILabel根据内容动态计算高度
- iOS开发之获得动态文本高度和图片高度
- iOS开发动态计算cell的高度
- ios--动态计算label的高度
- IOS 根据 指定的 字体类型 ,size ,计算 绘制 文本 所需要的 宽度与高度
- iOS 7下计算文本高度注意事项
- iOS开发动态计算cell的高度
- IOS聊天泡泡,根据内容计算宽度和高度(动态计算高度和宽度)
- iOS 动态计算UITableViewCell 高度 以及计算UILable 高度 自定义Cell
- iOS文本高度计算