2

首先,我试图从远程 url 延迟加载图像,到目前为止我所做的如下, - 我创建了自定义 UITableViewCell ,其中包含 UIImageView 和使用 XIB 的其他标签,并将其映射到我的自定义 UITableViewCell 类。- 我在我的 UITableView 中使用自定义表格单元格 - 自定义单元格内的 UIImageView,根据 Apple 的 tableview 延迟加载图像教程加载远程图像 - 最初 ImageView 显示加载图像,一旦加载图像,加载的图像就会得到在 ImageView 内更新,或者如果失败,则不会显示任何图像

这里的问题是,远程图像的大小是可变的,假设图像小于 ImageView 框架,图像会拉伸并显示为模糊,但是一旦我们滚动或选择行,它就会重新调整为实际大小并且看起来很好. 同时,如果图像大于 ImageView 框架,它会正确地适合框架内,但如果我们滚动或选择行,它占据的大小大于框架并隐藏行中的其他元素

我搜索了几个小时,我得到的只是将内容模式设置为 UIViewContentModeScaleToFit 并将 clipsToBounds 设置为“是”,我在 XIB 和代码中都进行了这些更改,但它没有改变任何东西。有人可以指出我做错了什么或如何解决这个问题。

谢谢。

4

2 回答 2

1

随心所欲地抓取图像

UIImage *customImage = [UIImage imageWithContentsOfFile:theImagePath];

然后使用以下命令检查图像的大小:

NSLog(@"the customImage width is %f and height is %f ",customImage.size.width,customImage.size.height);

然后修改您放置它的框架的宽度和高度,以便将它们设置为原始图像的相等部分(同时仍然适合必要的边界)

float newWidth =  customImage.size.width *.4;
float newHeight = customImage.size.height *.4;
ImageButton.frame = CGRectMake(x coord, y coord, newWidth, newHeight);

如有必要,您还可以进行方面适合/填充

于 2013-01-31T01:16:16.400 回答
0

我只是重新调整了图像的大小,如果图像的宽度和高度大于框架大小并在其上显示调整大小的图像,并且图像尺寸小于我显示的框架。

于 2013-02-28T04:12:15.277 回答