奇妙な問題に遭遇しました。動的な高さを持つカスタム テーブルビュー セルがあります。これをテストしている間、これはすべて正常に機能しているように見えましたが、実際のコンテンツをロードしているので、いくつかの問題があるようです.
一部のテキストが UILabel の改行をトリガーしないようです
正: http://dl.dropbox.com/u/274185/Screen%20Shot%202012-05-09%20at%201.15.21%20PM.png 誤: http://dl.dropbox.com/u/274185 /Screen%20Shot%202012-05-09%20at%201.15.30%20PM.png
間違った例でわかるように、テキストは 2 行目に押し込まれていますが、ラベルの高さはまだ 1 行しかカウントされていません。
item.project = @"より長いタイトルの別のテスト プロジェクト (管理者 / プロジェクト管理)";
item.project = @"テスト プロジェクト (管理者 / プロジェクト管理)";
高さの計算方法は次のとおりです。
// when creating the cell
cell.projectLabel.lineBreakMode = UILineBreakModeWordWrap;
cell.projectLabel.numberOfLines = 0;
[cell.projectLabel sizeToFit];
// in heightForRowAtIndexPath()
CGSize projectHeight = [item.project sizeWithFont:[UIFont boldSystemFontOfSize:13.0f] constrainedToSize:CGSizeMake(320.0f, CGFLOAT_MAX) lineBreakMode: UILineBreakModeWordWrap];
lineBreakMode を変更してみましたが、あまり役に立たないようです
EDIT:テキストの高さを計算するときに問題があるように見えました.320ポイントの固定を使用しましたが、実際の幅を使用した後、高さが正しく計算されました。
CGSize projectHeight = [item.project sizeWithFont:[UIFont boldSystemFontOfSize:13.0f] constrainedToSize:CGSizeMake(cell.projectLabel.bounds.size.width, CGFLOAT_MAX) lineBreakMode: UILineBreakModeWordWrap];