![](/img/trans.png)
[英]NSString sizeWithFont:constrainedToSize: computing wrong height
[英]NSString sizeWithFont not returning the correct height
我在滚动视图中有一个标签和其他一些项目。 在-viewDidLoad中,我在标签中设置了文本,我想增加标签的高度,以便所有文本都适合。 因此,我计算了要限制在标签现有宽度上的文本大小,这是非常非常大的高度限制。
尽管计算出的高度过小,但文本已被换行。 我已经在iOS4.3,iOS5.0和iOS6.0 iPad模拟器上进行了尝试,但在所有模拟器上均无法正常工作。
任何想法?
self.labelTextDescription.text = self.purchase.textDescription;
self.labelTextDescription.backgroundColor = [UIColor redColor];
CGSize allowedSize = self.labelTextDescription.frame.size;
allowedSize.height = 100000;
CGSize textSize = [self.labelTextDescription.text sizeWithFont:self.labelTextDescription.font constrainedToSize:allowedSize lineBreakMode:UILineBreakModeWordWrap];
UILabel的行数默认为1。您可以自己计算,也可以像DavidRönnqvist指出的那样使用0(更简便)。 但是您的代码本身并没有错。
也许这个小代码段将为您指明正确的方向。
UILabel *label = [[UILabel alloc] init];
label.text = @"Lorem ipsum dolor sit amet.";
CGSize allowedSize = CGSizeMake(100, MAXFLOAT);
CGSize textSize = [label.text sizeWithFont:label.font constrainedToSize:allowedSize lineBreakMode:UILineBreakModeWordWrap];
label.frame = CGRectMake(0, 0, textSize.width, textSize.height);
label.numberOfLines = 0; //EDIT: If you want to calculate it yourself use ceilf(textSize.height / label.font.lineHeight);
[self.view addSubview:label];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.