按比例调整方形图像的大小



我在将图像正确缩放到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];

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

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

  • 如果宽度和高度相同,则使"?"等于cell.frame.size.height
  • 如果宽度是高度的两倍,则使"?"等于cell.frame.size.height*2
  • 如果宽度是高度的一半,则使"?"等于cell.frame.size.height/2
  • 等等

希望这能有所帮助!

如果它应该是一个正方形,那么在x方向和y方向上放置相同的正方形:

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

如果使用"自动布局",在图像视图上使用高度和宽度约束很容易做到这一点。其中一个等于另一个。调整另一个的常数。设置需求布局。也许是动画。

最新更新