我有宽度为260的UILabel,其中我有长文本(可能大约1000个字符)。
我想根据内容设置UILabel的高度。有时我可以有100个字符,有时候我可以有1000个字符。
根据文字,我如何设置UILabel的高度?
注意:我正在以编程方式创建UILabel。
UILabel myLabel = [[UILabel alloc] initWithFrame: CGRectMake (30,50,260, height)];
知道如何完成这项工作吗?
我尝试的一种方法如下。
我在考虑一行有40个字符。所以我正在做的是找到文本的长度并将其除以40.这将给出我所需的总行数。
但是当有新行时,这会失败。
这是正确的方法吗?
答案 0 :(得分:10)
尝试使用:
myLabel.numberOfLines = 0;
[myLabel sizeToFit];
答案 1 :(得分: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是deprecated in iOS 7。