ラベルの正確な高さを計算する方法を見つけました。同じ質問を読みましたが、ラベルの高さに関して私の問題は異なります。次のコードは、ラベルの高さに応じてセルの動的な高さを計算するために使用しています。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
CGSize size;
Comment *objCommnt = [arrOfComments objectAtIndex:indexPath.row];
NSString *msg = objCommnt.comment;
CGSize textSize = { 260.0, 10000.0 };
size = [msg sizeWithFont:[UIFont boldSystemFontOfSize:12]
constrainedToSize:textSize
lineBreakMode:UILineBreakModeWordWrap];
size.height += padding;
return size.height+padding +5;
return 100;
}
パディングがある場所
static CGFloat padding = 20.0;
適切な間隔を持つコメントの場合、正しいサイズが得られ、下の画像に示すように機能します。
連続した単語を含むテキストを含むコメントの場合、2 つの単語の間に大きなスペースがあると、下の画像に示すように高さが高くなります。
私の問題が何であるかを見ることができる2番目の画像。nibファイルにチェックインされた同じラベルに必要な高さを確認するために、高さのダイナミックを計算しているときに92のラベルを付けて、 80として計算されたのはなぜですか?? 2つの単語間の間隔が広いか、単語の後のスペースが長いためだと思います . ありがとうございました。