首先,我正在尝试从远程网址延迟加载图片,到目前为止我所做的工作如下, - 我创建了自定义UITableViewCell,它包含在UIImageView和其他标签上使用XIB并将其映射到我的自定义UITableViewCell类。 - 我在UITableView中使用自定义表格单元格 - 自定义单元格内的UIImageView,根据Apple的延迟加载图像查看教程加载远程图像 - 最初ImageView显示加载图像,加载图像后,加载的图像在ImageView内更新,如果失败,将无法显示图像
这里的问题是,远程图像的大小可变,假设图像小于ImageView框架,图像会拉伸并显示为模糊但是一旦我们滚动或选择行,它会重新调整大小到实际大小看起来很好。 同时,如果图像大于ImageView框架,它就能正确地适合框架内部,但如果我们滚动或选择行,它会占据比框架更大的尺寸并隐藏行中的其他元素
我搜索了几个小时,我得到的是将内容模式设置为UIViewContentModeScaleToFit并将clipsToBounds设置为'YES',我在XIB和Code中都进行了这些更改,但它没有改变任何内容。有人可以指出我,我做错了什么或如何解决这个问题。
感谢。
答案 0 :(得分: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);
如果需要,您还可以使用宽高比适合/填充
答案 1 :(得分:0)
如果图像的宽度和高度大于帧大小并在其上显示重新调整大小的图像,并且图像尺寸小于我显示的帧,我只是重新调整图像大小。< / p>