UITableViewCell动态高度基于UIImageView

时间:2013-04-27 14:38:22

标签: iphone uitableview uiimageview uiimage

我将UITableView分组,单元格大小为400.内部我有UIImageView,其中包含来自NSURL的图像。如何制作这些图像以确定uitableviewcell高度?如何从下载的图像中获得真实的图像尺寸(至少高度,比我的宽度更重要)??

它像9gag应用程序。大多数图像大约是3/4的单元格和几乎1/2的屏幕,但有些图像(如有趣的模因),你有对话框,而且很长,应该在2个屏幕上拉伸uitableviewcell(需要滚动才能看到整个图像)。 / p>

1 个答案:

答案 0 :(得分:0)

您需要创建一个数组来保存下载的图像及其元数据。为简单起见,此数组可能只在您的UITableViewController中。

下载图片时,请将其保存到images阵列中。

然后,在您的-tableView:heightForRowAtIndexPath:方法中,您可以从保存的图像中查询此数组的高度 - 例如,

-(float)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath
{
    return [self.images objectAtIndex:indexPath.row].size.height + 50;
}

这将使细胞比图像的高度高50px。请注意,您需要tell the table to update cell heights才能生效。