1

さまざまなソーシャルネットワークからの更新投稿を表示しているUITableViewがあります。カスタムUITableViewCellサブクラスがあり、内部にカスタムUIViewがあり、Appleがここで説明しているのと同様に、すべてのラベルと画像の描画を担当します:http: //developer.apple.com/library/ios/#documentation/UserExperience/ Conceptual / TableView_iPhone / TableViewCells / TableViewCells.html#// apple_ref / doc / uid / TP40007451-CH7-SW18

このビューの-layoutSubviews呼び出しで、さまざまなラベルに必要なサイズを見つけ、それに応じてフレームを設定します。ただし、少しスクロールした後、セルがリサイクルされるときに-layoutSubviewsが呼び出されないことは明らかです。そのため、一部のセルでは、コンテンツを表示するのに十分な大きさのラベルフレームが設定されていません。データオブジェクトをセルからカスタムビューに渡すとき、[self setNeedsDisplay]を呼び出します。これにより、セルが-layoutSubviewsを呼び出すと考えられます。

ラベルが送信されるコンテンツに合わせてラベルのサイズが適切に変更されていることを確認するにはどうすればよいですか?

4

1 に答える 1

1

レイアウトを強制する場合は、ビューにsetNeedsLayout(ではなくsetNeedsDisplay)送信します。セルを返却[cell setNeedsLayout]する前に送信する必要があるようです。tableView:cellForRowAtIndexPath:

于 2012-08-17T17:54:57.050 に答える