我想在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中运行
答案 0 :(得分:3)
不要使用自动布局标记,取消选中,代码工作正常,除此之外没有问题,希望对您有所帮助!
答案 1 :(得分:2)
您不需要代码的最后一行。
[descriptionLabel sizeToFit];