UITableViewCellXcodeで独自に設計し、にロードして、カスタムテーブルを作成していcellForRowAtIndexPathます。スクロールの問題に直面しています。テーブルのスクロールは非常に遅く、スムーズではありません。各セルに私は持っています:
- 2または3のいずれか
UIImageViewで、必要に応じて3番目のものが動的に追加されます - 1
UILabel - 1
UITextView - 一部のセルには2つ
UIButton、一部には1UIButtonがあり、大部分にはボタンがまったくない場合があります - 一部のセルでは、オーバーレイを追加する場合があります
UIView
画像ビュー、テキストビュー、ボタンのサイズはセルごとに異なります。テーブルがスクロールされるたびにサイズが計算されないようにするために、すべてのサイズを読み込んviewWillAppearで配列に格納し、内部でcellForRowAtIndexPathは配列からサイズを読み込んで目的のオブジェクトに設定するだけです。
Webで見つけたすべてのアイデア(ここif(cell == nil)に示すように画像を本文にロードする、セルをデキューしないなど)を試しましたが、問題は解決しませんでした。
一方、チャットアプリのWhatsAppは、セルごとに同じ量のアイテムを使用していることに気付きました(たとえば、ユーザーが画像を受け取った場合、[表示]と[転送]の2つのボタン、画像のサムネイル、サムネイルの横にあるチェックマークの画像、日付がありますラベル、サムネイルの後ろのバブル画像...)しかし、そこでのスクロールは非常にスムーズです。
テーブルに10個のセルしかない場合でも、スクロールが遅くなります。これが私の質問です:
- 私は気づいていない劇的に間違ったことをしていますか?
- 遅いスクロールを防ぐためにカスタムセルに追加する必要があるアイテムの数に制限はありますか?
- XcodeのProduct->Profileのようなものを使用して、スクロールが遅い理由を検出する方法はありますか?
- 誰かが私の問題の解決策を提案できますか?
よろしくお願いします。