2

UITableView を上下にスクロールするときにセルをリロードする必要がない場合に、問題が発生しました。簡単に言えば、ユーザーがクリックして展開できるコンテンツを持つカスタムセルを作成しました。たとえば、UILabel完全には表示されない多くのテキストが含まれていますが、ユーザーはボタンをクリックしてテキストを展開し、結果としてラベルを展開できます。[tableview beginUpdates]これはすべて と を介して実装し[tableview endUpdates]ます。しかし、ボタンをクリックしてテキストまたは画像を展開し、他のセルまでスクロールしてからUITableView、もちろんセルのコンテンツをリロードすると、テキストは再び非表示になりますが、セルは同じサイズのままで見苦しくなります。何らかの方法でUITableViewリサイクル メカニズムをカスタマイズしたり、内部セル キャッシュを更新したりできますか?

4

2 に答える 2

7

リロードを無効にすることはできません。適切な解決策は、各セルの状態 (展開されているかどうかにかかわらず) を保存していることを確認することです。そのため、スクロールのためにセルをリロードする必要がある場合は、現在の状態に適切な高さとコンテンツを指定します。

于 2013-01-26T18:19:33.947 に答える