【问题标题】:UITableViewCell Dynamic Height based on UIImageView基于 UIImageView 的 UITableViewCell 动态高度
【发布时间】:2013-04-27 14:38:21
【问题描述】:
我已将 UITableView 与 400 的单元格大小进行分组。在里面我有 UIImageView 与来自 NSURL 的图像。如何使这些图像确定 uitableviewcell 高度?我如何才能从下载的图像中获得真实的图像大小(至少是高度,在我的情况下它比宽度更重要)??
类似于 9gag 应用程序。大多数图像将是大约 3/4 的单元格和几乎 1/2 的屏幕,但有些图像(如有趣的模因)有对话框并且非常长,应该在 2 个屏幕上拉伸 uitableviewcell(需要滚动才能看到整个图像)。
【问题讨论】:
标签:
iphone
uitableview
uiimageview
uiimage
【解决方案1】:
您需要创建一个数组来保存下载的图像及其元数据。为了简单起见,这个数组可能只是在你的UITableViewController 中。
当您下载图像时,将它们保存到您的 images 数组中。
然后,在您的 -tableView:heightForRowAtIndexPath: 方法中,您从保存的图像中查询该数组的高度 - 例如,
-(float)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath
{
return [self.images objectAtIndex:indexPath.row].size.height + 50;
}
这将使单元格比图像的高度高 50 像素。请注意,您需要tell the table to update cell heights 才能生效。