计算标签

时间:2016-03-16 06:25:35

标签: ios objective-c

我的文字显示在UILabel中。但是,此文本有几个行空格,如下所示。现在,我想计算这个标签的高度,考虑换行,粗体文字和字体大小。由于此文本不能放在标签的单行中,因此我们必须在运行时确定几行。基于此高度,我想增加UILabel的y坐标,以便UILabel始终固定在屏幕底部。 (只有高度会增加(向上))

我该如何解决这个问题?

NSAttributedString *linespace = [[NSAttributedString alloc] initWithString: @"\n"];

NSMutableAttributedString *mutableString = [[NSMutableAttributedString alloc]initWithString:@"Mathews is a " attributes:@{NSFontAttributeName : [UIFont fontWithName:@"HelveticaNeue-Bold" size:40]}];  

NSAttributedString*    attributed = [[NSAttributedString alloc]initWithString:[NSString stringWithFormat:@"%@", @"Bad guy"] attributes:@{NSFontAttributeName : [UIFont fontWithName:@"HelveticaNeue-Bold" size:40]}];


[mutableString appendAttributedString: linespace];

[mutableString appendAttributedString: attributed];

[mutableString appendAttributedString: linespace];

1 个答案:

答案 0 :(得分:0)

你可以通过

获得身高
CGRect rectCountry = [mutableString boundingRectWithSize:(CGSize){@“YOUR WIDTH”, CGFLOAT_MAX}
                                                     options:NSStringDrawingUsesLineFragmentOrigin
                                                     context:nil];
CGSize sizeCountry = rectCountry.size;