多行标签

时间:2013-03-11 07:58:23

标签: iphone xcode ios6 uilabel

我想在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中运行

2 个答案:

答案 0 :(得分:3)

enter image description here

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

答案 1 :(得分:2)

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

[descriptionLabel sizeToFit];