我正在使用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;
答案 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方法。如果图像不是矩形 - 图像将裁剪较大的一侧并占据图像的中间
希望这个答案能指导你。