Ios 通过URL获取图像加载的大小

Ios 通过URL获取图像加载的大小,ios,image,uitableview,uiimageview,Ios,Image,Uitableview,Uiimageview,在我的应用程序中,我在tableview中显示提要。图像是通过URL发送的。我想根据图像大小动态计算单元格高度。但我在电池加载后得到图像 如何根据图像大小实现单元格的动态高度 我希望我的问题是明确的,我会在这里得到解决 谢谢,加载图像时,您可以计算行的所有高度,如果分别实现了heightForRowAtIndexPath方法,只需调用[tableView reloadTable]。请尝试以下代码: 但是您可以使用映像下载异步调度 NSData *imageData = [NSData data

在我的应用程序中,我在tableview中显示提要。图像是通过URL发送的。我想根据图像大小动态计算单元格高度。但我在电池加载后得到图像

如何根据图像大小实现单元格的动态高度

我希望我的问题是明确的,我会在这里得到解决


谢谢,

加载图像时,您可以计算行的所有高度,如果分别实现了heightForRowAtIndexPath方法,只需调用[tableView reloadTable]。

请尝试以下代码:

但是您可以使用映像下载异步调度

 NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://static.hugedomains.com/images/logo_huge_domains.gif"]];
    UIImage *image = [UIImage imageWithData:imageData];
    NSLog(@"image height: %f",image.size.height);
    NSLog(@"image width: %f",image.size.width);

如果服务由您自己处理,最简单的方法是在api中获取图像大小。因为如果没有下载图像,您将无法获得其大小


另一种方法是保持表中的
imageview
行的大小不变,并像大多数应用程序一样填充其中的图像

我认为您正在tableview中进行延迟加载,因此图像数据将在重新加载表之后出现,因此您无法在发送请求之前获得图像大小,获取数据并将数据应用到图像如果我不使用延迟加载,它将无法平滑滚动tableview。最好的方法是在UITableviewCell中设置UIImage视图大小,并根据固定大小调整下载图像的大小。我知道,因此我建议您在上面发表评论,或者您可以从API(服务器)获取图像的大小您可以在其中调用图像url。但加载图像需要时间。我不能让用户等待图像加载。使用相同的方法加载图像。