16

我有一个图像,我想UITableViewCell使用UITableViewCellStyleSubtitle提供 aUIImageView和两行文本的样式以及一个可选的附件视图来显示。

但是,当我将 的内容模式设置UIImageViewUIViewContentModeScaleAspectFitUIViewContentModeScaleAspectFill时,似乎没有什么区别。这两种内容模式都只是显示整个图像,将文本向右移动以为图像腾出空间。

有没有人有任何例子说明这些在实践中实际上有何不同?文档说:

UIViewContentModeScaleAspectFit:
Scales the content to fit the size of the view by maintaining the aspect ratio. Any     remaining area of the view’s bounds is transparent.

UIViewContentModeScaleAspectFill:
Scales the content to fill the size of the view. Some portion of the content may be  clipped to fill the view’s bounds.

但这些内容模式的表现并不像宣传的那样。

编辑:我正在运行 SDK iOS 4。

4

2 回答 2

35

我有同样的问题。似乎Apple文档有点缺乏。

我通过在互联网上搜索找到了答案。 http://www.iphonedevsdk.com/forum/iphone-sdk-development/2973-crop-image.html

基本上,

img1.contentMode = UIViewContentModeScaleAspectFill; 
img1.clipsToBounds = YES;

如果您希望它更花哨,请查看这篇文章: UIImageView 更改宽度和高度

于 2011-05-31T02:49:12.990 回答
9

您看不到这些模式之间差异的原因是它会UITableViewCell自动调整其图像视图的大小以适应图像的纵横比。只有当视图的纵横比与图像的不同时,内容模式才会发挥作用。

layoutSubviews在您的自定义类中覆盖UITableViewCell或自己创建一个图像视图(不要使用表格视图单元格提供的那个)。

于 2011-12-06T01:33:38.180 回答