4

我有宽度为 260 的 UILabel,其中有长文本(可能大约 1000 个字符)。

我想根据内容设置 UILabel 的高度。有时我可以有 100 个字符,有时我可以有 1000 个字符)。

基于文字,如何设置UILabel的高度?

注意:我正在以编程方式创建 UILabel。

 UILabel myLabel = [[UILabel alloc] initWithFrame: CGRectMake (30,50,260, height)];

知道如何完成这项工作吗?

我正在尝试的一种方法如下。

我正在考虑一行中有 40 个字符。所以我正在做的是找到文本的长度并将其除以 40。这将为我提供所需的总行数。

但是当有新行时,这会失败。

这是正确的方法吗?

4

2 回答 2

10

尝试使用:

myLabel.numberOfLines = 0;
[myLabel sizeToFit];
于 2013-10-27T07:52:38.540 回答
1
NSString * mytext = @"My string";
myLabel.font = [UIFont fontWithName:@"fontName" size:15];
CGSize sz = [mytext sizeWithFont:myLabel.font];
float height = sz.height;
float totalHeight = height*myLabel.numberOfLines;

请注意 sizeWithFont在 iOS 7 中已弃用

于 2013-10-27T08:00:05.830 回答