0

適切なメカニズム (FetchedResultsController などを使用) を介して CoreData から情報を読み取る UITableView があります。この情報は、テキスト、またはテーブルビューにロードするローカル イメージへの URL です。

データは、ボトムアップ方式 (メッセージング アプリと同様) でテーブルに入力する必要があります。私は iOS 8 以降をターゲットにしていますが、estimatedHeightForRowAtIndexPath を使用すると、3 つ以上の複数行のラベルと画像でひどいジャーキネスが発生します。それが1行のUILabelでない限り、見積もりはあまりにもかけ離れているようです。私の推測では、セルの高さはセルの上部からセルの下部まで成長するように、トップダウン方式で推定されています。これは、上から下へのスクロールは問題ありませんが、下から上へのスクロールはうまくいかないことを意味します。これは、上にスクロールするとセルが動的に「下に」サイズ変更されるためです。

現在、セルの高さを計算するために heightForRowAtIndexPath を使用しています。これに関する問題は、セルの高さがすべて一度に計算されるため、ビューが最初に読み込まれるまでに非常に長い時間がかかることです。セルの高さのキャッシュを使用してセルの高さを保存しているため、ビューが読み込まれるとスクロールがスムーズになります。

だから私の質問は次のとおりです。3〜5秒の初期ロードヒットなしでheightForRowAtIndexPathを使用するにはどうすればよいですか?

そして、ボーナスの質問をフォローアップしてください。高さが大きく異なるセルがある場合、estimatedHeightForRowAtIndexPath を確実に使用する方法はありますか? 44px から 300px までの範囲を指します。私が読んだことから、この状況では推定高さの計算はまったく使用できません。

EstimatedHeight/heightForRowAtIndexPath に関するすべての stackoverflow の投稿を使い果たしましたが、同じ投稿を複数回見始めています。だから私は立ち往生しています。

4

1 に答える 1