按比例调整方形图像大小

时间:2013-08-29 23:44:54

标签: ios objective-c uitableview uiimageview

我无法将图片正确缩放到我的UITableCell。我有一个大的图像副本,并希望通过可变高度单元格进行缩放。它是x乘x的正方形图像。

UIImageView *pw = [[UIImageView alloc] initWithImage:img];

[pw setImage:img];
pw.contentMode = UIViewContentModeScaleAspectFill;
pw.frame = CGRectMake(cell.frame.size.width - img.size.width, cell.frame.origin.y,
                             ?, cell.frame.size.height);

[cell.contentView addSubview:pw];

问题是我不确定为?参数(图像宽度)赋予什么值,因为它可以根据其所在单元格的高度进行缩放。

3 个答案:

答案 0 :(得分:2)

如果图像的宽度取决于单元格的高度,则可以使其与其成比例。例如,

  • 如果宽度与高度相同,请设为“?”等于cell.frame.size.height
  • 如果宽度是身高的2倍,请设为“?”等于cell.frame.size.height * 2
  • 如果宽度是身高的一半,请设为“?”等于cell.frame.size.height / 2
  • 等...

希望这有帮助!

答案 1 :(得分:1)

如果它应该是正方形,则在x方向上与y方向相同:

CGRectMake(cell.frame.size.width - img.size.width, 
       cell.frame.origin.y,
       cell.frame.size.height, 
       cell.frame.size.height);

答案 2 :(得分:-1)

如果使用“自动布局”,则可以使用图像视图上的高度和宽度约束来轻松完成此操作。 其中一个与另一个相同。 调整另一个的常数。 设置needsLayout。也许是有生气的。