iOS - UILabel根据文字计算高度,设置字间距,行间距

原创 2015年11月20日 13:10:45

根据文字长度计算高度

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 300, 50)];
label.text = string;
label.backgroundColor = BGCOLOR;
label.textAlignment = NSTextAlignmentLeft;
label.lineBreakMode = NSLineBreakByWordWrapping;
label.numberOfLines = 0;
label.font  = [UIFont systemFontOfSize:15];

CGRect txtFrame = label.frame;

txtFrame.size.height =[label.text boundingRectWithSize:CGSizeMake(txtFrame.size.width, CGFLOAT_MAX)
                                               options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading
                                            attributes:[NSDictionary dictionaryWithObjectsAndKeys:label.font,NSFontAttributeName, nil]
                                               context:nil].size.height;

label.frame = CGRectMake(10, 150, 300, txtFrame.size.height);
[self.view addSubview:label];

设置label字间距,行间距

UILabel *spacingLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 50, 280, 50)];
spacingLabel.text = self.allDataArray[indexPath.row][@"content"];
spacingLabel.numberOfLines = 0;
spacingLabel.font  = [UIFont systemFontOfSize:12];
spacingLabel.textColor = [UIColor darkGrayColor];

NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc]init];
[paragraphStyle setLineSpacing:8];

NSMutableAttributedString *attributedString =  [[NSMutableAttributedString alloc] initWithString:spacingLabel.text attributes:@{NSKernAttributeName : @(1.5f)}];
[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, spacingLabel.text.length)];

spacingLabel.attributedText = attributedString;


CGSize size = CGSizeMake(280, 500000);
CGSize labelSize = [spacingLabel sizeThatFits:size];
spacingLabel.frame = CGRectMake(20, 50, labelSize.width, labelSize.height);

[cell.contentView addSubview:spacingLabel];


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

iOS UILabel设置行间距和字间距并计算高度

#define UILABEL_LINE_SPACE 6 #define HEIGHT [ [ UIScreen mainScreen ] bounds ].size.height ...
  • luco2008
  • luco2008
  • 2016年03月25日 10:52
  • 22897

IOS 富文本 ,设置行间距、字间距,计算高度(转载组合而成)

1计算label内字体在设置行间距和字间距后的高度 2富文本的详细介绍。

iOS-设置文本行高并计算高度

通过NSMutableParagraphStyle可以设置行与行之间的间隔,代码如下:NSMutableAttributedString *string1 = [[NSMutableAttribute...

iOS UILabel设置行间距和字间距并计算高度

#define UILABEL_LINE_SPACE 6 #define HEIGHT [ [ UIScreen mainScreen ] bounds ].size.height ...

[iOS]修改UILabel的行间距/段间距/缩进

[iOS]修改UILabel的行间距/段间距/缩进 - (void)viewDidLoad { [super viewDidLoad]; UILabel *dLabe...

设置UILabel的内间距

因为UILabel没有相关属性设置内间距,只能自己重新自定义 //1.header file     #import     @interface InsetsLabel : UIL...

iOS中label根据字体和行间距返回高度

ios根据字体和行间距算出label的高度

根据行间距计算label的高度

//根据行间距计算label的高度(1) - (CGSize)boundingRectWithSize:(CGSize)size WithStr:(NSString*)string andFont:...

iOS开发 根据字符内容计算宽高度

根据内容计算宽度 - (CGFloat)calculateRowWidth:(NSString *)string { NSDictionary *dic = @{NSFontAttribut...

IOS开发中UILabel单行、多行文本计算高度、宽度的技巧

IOS学习了一段时间了,对于这个文本内容多了需要计算高度的问题特别蛋疼,这个根本没法和Android相比啊,Android根本就不用自己费心计算宽度和高度,内部都帮你实现好了,好了,YY到此结束,遇到...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS - UILabel根据文字计算高度,设置字间距,行间距
举报原因:
原因补充:

(最多只允许输入30个字)