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 に答える