セル (UITableViewCell および UICollectionViewCell) の自動レイアウトを使用していますが、セルを再利用するとパフォーマンスが大幅に低下することに気付きました。これを改善するにはどうすればよいでしょうか。
セルを作成/構成する方法が原因である可能性があります。アプリで本をセルとして表示する必要があり、本のジャンルによってレイアウトが異なりますが、BookCell は 1 つしかありません。セルの作成時に制約を再構成します/本のジャンルに基づいて特定の本に再利用されます。
私の理解では、私の場合、手順は次のとおりであるため、自動レイアウトは固定フレームよりも遅くなるはずです。
自動レイアウト
- 現在の拘束を削除
- 本のジャンルに応じて制約を再追加する
- 本のすべてのラベル/画像ビューを設定する
内部的には、ステップ 2 で iOS が制約ソルバーを再実行し、ステップ 3 で制約を再調整 (つまり、ソルバーを再実行) して、テキストと画像が設定されたすべてのラベルと画像ビューを満たすと考えています。
固定レイアウト
(さまざまなジャンルのラベル、画像ビュー、さまざまなフレームのリストがあります) 1. すべてのラベル、画像ビューのフレームを再設定します 2. ラベルのテキストと画像ビューの画像を設定します
すべての自動レイアウト セルを固定フレームを使用するように変換するには時間がかかります。パフォーマンスを向上させるために考えられることは次のとおりです。
- 一般的な BookCell を複製し、ジャンルごとに 1 つのセルを作成します。
- 制約を設定する前に、すべてのラベル、画像ビューを設定します
updateConstraints
メソッドまたはイニシャライザ (例)に自動レイアウト制約を追加する必要がありますinitWithTableViewCellStyle:reusableIdentifier:
か?
どうもありがとう!