3

我想在 iOS 6 应用程序中创建多行标签。它在 < iOS V6.0 应用程序中成功运行,现在我在 iOS6 应用程序中使用相同的代码,但它不工作。

这是我的代码:`

descriptionLabel.font = [UIFont fontWithName:@"Arial" size:13];
 text2 = [text2 stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
descriptionLabel.text=text2;
//here i calculate label height.
float messeglblHeight = [self calculateHeightOfTextFromWidth:text2 : [UIFont fontWithName:@"Arial" size:13] :280 :UILineBreakModeWordWrap];
[descriptionLabel setFrame:CGRectMake(descriptionLabel.frame.origin.x,  descriptionLabel.frame.origin.y, 280, messeglblHeight)];
descriptionLabel.lineBreakMode = UILineBreakModeWordWrap;
descriptionLabel.numberOfLines = 0;
[descriptionLabel sizeToFit];

我从下面的函数计算标签高度:

-(float) calculateHeightOfTextFromWidth:(NSString*) text: (UIFont*)withFont: (float)width :(UILineBreakMode)lineBreakMode
{
CGSize suggestedSize = [text sizeWithFont:withFont constrainedToSize:CGSizeMake(width, FLT_MAX) lineBreakMode:lineBreakMode];

return suggestedSize.height;
}

所以请给我一些建议。

PS:代码在iOS 5,想在iOS6运行

4

2 回答 2

3

在此处输入图像描述

不要为您的标签使用自动布局,将其取消选中,代码工作正常,除此之外没有任何问题,希望对您有所帮助!

于 2013-03-11T09:33:39.613 回答
2

您不需要代码的最后一行。

[descriptionLabel sizeToFit];
于 2013-03-11T08:00:40.300 回答