テーブルセルのラベルに表示する文字列の幅は2つあります。テーブルセルの高さが正しく記録されるように高さを計算する必要があります。しかし、私が拘束サイズのために何をしても、私は同じ高さを得ます。これは、必要な場合には間違っています。私が使用しているコード:なぜsizeWithFont:constrainedToSize:lineBreakMode:不正なサイズを返しますか?
CGFloat width = 300.0f;
NSString * value = @"LongText LongText LongText LongText LongText LongText";
CGSize contentSize = [value sizeWithFont: [UIFont systemFontOfSize: 14.0f]
constrainedToSize: CGSizeMake(width, CGFLOAT_MAX)
lineBreakMode: UILineBreakModeWordWrap];
私がcontentSize変数を調べると、幅は252、高さは36と予想されます。しかし、300.0fiの代わりにwidth変数に222.0fを差し込むと、幅は189ですが、高さはまだ36で、最初の4つのLongText単語だけが2行に表示されます(3行目は何とか計算)。誰がなぜこれが起こっているのか知っていますか?
UITextViewを使用している場合は、ここで私の答えを見てください:http://stackoverflow.com/questions/2330939/sizewithfont-doesnt-give-correct-height-for-uitextview-if-there-is -a-long-strin/15408198#15408198 – domsom