0

CHTCollectionViewWaterfallLayout を使用して滝のレイアウトを作成したいと考えています。デモで、セルの高さが固定されており、配列になっていることに気付きました。でも、今、画像のURLをもらったので画面に表示したいのですが、高さがわかりません。そのため、heightForItemAtIndexPath データソースが機能していません。ダウンロードする前に画像 URL の高さを計算する方法。または、高さを計算し、heightForItemAtIndexPath データソース メソッドでセルの高さを設定しながら、cellForItemAtIndexPath データソース メソッドで画像をダウンロードして表示できますか? どうやってするか?

4

1 に答える 1

2

画像が独自のサーバーからダウンロードされた場合は、まず画像のサイズを示すメタ データを送信し、それを使用して画像をダウンロードする前に高さを計算することをお勧めします。

画像がサーバーにない場合、最適な解決策は、対応する画像がダウンロードされているかどうかを示す BOOL 配列を追加することです。ダウンロードされている場合は高さを調整し、ダウンロードされていない場合はデフォルトの高さを使用します。

そして、画像がロードされたときに以下のメソッドを呼び出すデリゲートをセルに追加します。

- (void) ImageLoadedAtIndexPath:(NSIndexPath)indexPath {

     [self.tableView beginUpdates];
     [self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:UITableViewRowAnimationNone];
     [self.tableView endUpdates];

}

それが役に立てば幸い。

于 2013-07-31T09:39:53.153 に答える