iOS SDK UIViewContentModeScaleAspectFit与UIViewContentModeScaleAspectFill

时间:2010-07-05 23:21:45

标签: iphone objective-c uiimageview ios4 contentmode

我想要在UITableViewCell中使用提供UITableViewCellStyleSubtitle的{​​{1}}样式和两行文字以及可选附件视图显示图像。

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

有没有人在实践中有任何实际差异的例子?文档说:

UIViewContentModeScaleAspectFill

但是这些内容模式似乎没有宣传的那样。

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

2 个答案:

答案 0 :(得分:35)

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

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

基本上,

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

如果你想要它更有趣,请查看这篇文章: UIImageView change Width and Height

答案 1 :(得分:9)

您没有看到这些模式之间存在差异的原因是UITableViewCell自动调整其图像视图的大小以适合图像的宽高比。仅当视图的宽高比与图像不同时,内容模式才会起作用。

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