2013-07-31 45 views
0

我想使用CHTCollectionViewWaterfallLayout创建一个瀑布布局。我在演示中注意到单元格高度是固定的,并且在一个数组中。但是,现在,我得到了一个图像网址,我想在屏幕上显示它,但高度并不知道。所以,heightForItemAtIndexPath数据源不起作用。如何在下载之前计算一些图片网址的高度。或者,我可以在cellForItemAtIndexPath数据源方法中下载并显示图像,同时计算height并在heightForItemAtIndexPath数据源方法中设置单元格高度?怎么做?从互联网下载图像时计算UICollectionViewCell高度

回答

2

如果图像是从你自己的服务器上下载,那么我会建议发送元数据首先显示的图像尺寸,并使用它下载图像之前计算的高度。

如果图像是不是你的服务器上,那么最好的解决办法是增加BOOL数组,指示相应的图像是否被下载与否,如果下载,调整高度,如果没有,使用默认的高度。

,并添加一个委托到您的它调用时加载图像下面的方法:

- (void) ImageLoadedAtIndexPath:(NSIndexPath)indexPath { 

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

} 

希望它能帮助。

+0

图像在cellForItemAtIndexPath中下载。这意味着,高度已经计算出来了,只有图像是懒加载的。 –

+0

检查更新的答案。 – MuhammadBassio

+0

将reloadRowsAtIndexPaths更改单元格高度? –

相关问题