サイズの異なるセルを含むコレクション ビューがあります。これらのセルには、ダウンロードされた画像が入力されます。セル内の画像が見栄えがするように、画像が十分に大きいことを確認したいと思います (セルの幅 x 高さに関して)。
それを行うための私のプロセスは、ちょっと醜いように見えます。もっとスマートな方法があるかどうか尋ねたかったのですか?
基本的に私は次のことを行います:
- セルのサイズは配列に格納されます (例: ArrayCellSizes と CGSize )。
- Web から画像を取得し、DictWithImagesなどの辞書に保存します。
- ここで、for-loop を使用してDictWithImagesを反復処理し、高さを抽出して、ArrayCellSizes から取得した現在のセルの高さと比較します。99% の場合、画像の幅はセルの幅よりも大きく、チェックする必要はありません。
- 高さの大きい画像が見つかった場合は、現在のセルに対して選択され、DictWithImages のエントリが削除され、画像が 2 回選択されないようにします。
これは私には醜いように見えます。理論的にも問題があり、セルに完全な画像が見つからない場合があるため、セルに幅の狭い画像を設定する必要があります。
編集: NSFetchedResultsControllerが答えになるようです。それを掘り下げる必要があります。
乾杯 -- ジェリック