iphone:在表格单元格中缩放图像

时间:2013-02-06 19:13:35

标签: iphone uitableview size image-scaling

我正在使用UITableViewCellStyleSubTitle。我正在尝试将缩略图添加到我的表格单元格中。 UIViewContentModeScaleAspectFit似乎不适用于未知原因。对于类似的问题,我在堆栈溢出中看到了很多答案。如果我使用drawInRect裁剪图像,它就像这样

[thumbnail drawInRect:thumbnailRect];
UIImage *scaledImage = UIGraphicsGetImageFromCurrentImageContext();

但我想要实现的目标不应该让我这样做。我只是想缩放图像而不是裁剪它。 因此,对于默认单元格的图像视图,将内容模式设置为“UIViewContentModeScaleAspectFit”应该有效..但它没有。

cell.imageView.contentMode = UIViewContentModeScaleAspectFit;

设置缩略图的完整逻辑.. fPath是图像的路径

UIImage *thumbnail = [UIImage imageWithContentsOfFile:fPath];
[cell.imageView setImage:thumbnail];
cell.imageView.contentMode = UIViewContentModeScaleAspectFit;
cell.imageView.clipsToBounds = YES;

1 个答案:

答案 0 :(得分:0)

我发现如果尺寸较小,drawInRect会拉伸原始图像,如果尺寸较大则会拉伸它。

本文将帮助您准备图像的缩略图 http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way/

它有几个有用的UIImage类扩展: * UIImage +调整大小 * UIImage + Alpha * UIImage + RoundedCorner

示例用法:

  

UIImage * imageThumb = [YourImage thumbnailImage:70 transparentBorder:0 cornerRadius:10 interpolationQuality:kCGInterpolationHigh];

然后你可以使用drawInRect方法。如果图像不是矩形 - 图像将裁剪较大的一侧并占据图像的中间

希望这个答案能指导你。