3

私の問題は、ラベルにすべてのテキストが表示されるようにサイズを設定するとほぼ同じですが、セルの高さが異なるため、テーブルビューの他のセルと重なります。高さを計算するには、現在この方法を使用しています

+(CGSize)CommentSize:(NSString*)comment {

return [comment sizeWithFont:[UIFont boldSystemFontOfSize:messageTextSize] constrainedToSize:CGSizeMake(265, CGFLOAT_MAX) lineBreakMode:UILineBreakModeWordWrap];
}

テキストの高さは適切に計算されますが、絵文字が占める余分な高さ (6 ピクセル) がメッセージの高さに追加されていません。

また、テキストを別のラベルに設定して sizetofit にし、高さを取得してこのように渡そうとしましたが、上記の制約付きメソッドと同じ高さになります

+(CGSize)CommentSize:(NSString*)comment {

    UILabel *reviews = [[UILabel alloc]initWithFrame:CGRectMake(14, 13,265,30)];//Set frame
    reviews.numberOfLines=0;
    reviews.lineBreakMode = UILineBreakModeWordWrap;
    reviews.font = [UIFont boldSystemFontOfSize:14];
    reviews.text = comment;
    [reviews sizeToFit];

    CGFloat reviewlblheight = reviews.frame.size.height;

    CGSize maxlblSize = CGSizeMake(265,reviewlblheight);
    return maxlblSize;

}

高さを計算するにはどうすればよいですか。みんなを助けてください。

この問題に関連する別のリンクが見つかりましたhttps://github.com/mattt/TTTAttributedLabel/issues/82。mooshee が提案するソリューションを実装しようとしました。しかし、問題を解決できませんでした。誰でもこれを解決する方法を提案できますか。

解決

上記の 2 番目のコード スニペットを少し編集して問題を解決しました。UILabel を TTTAttributelabel に変更すると、TTT と UIlabel を使用して計算された高さが異なります。

同じ問題に直面している他の人は、2 番目のコード スニペットを使用できます。それが正しいアプローチであるかどうかはわかりませんが、問題は解決します。

ありがとうございました。

4

1 に答える 1

-3

このコードで確認してください...

CGRect labelFrame = label.frame;  
labelFrame.size = [label sizeThatFits:CGSizeMake(100, 9999)];  
[label setFrame:labelFrame];
于 2013-07-24T05:21:20.890 に答える