【问题标题】:Scaling any image to fit UIImageView缩放任何图像以适合 UIImageView
【发布时间】:2015-05-25 18:12:05
【问题描述】:

对于如何使 iPhone 相机拍摄的图像适合任何给定大小的 UIImageView,我有点困惑。显然,每个图像视图的比例都会不同,因此图像不会“完美”地“贴合”。但是假设我有一个大小为 200pt x 400 pt 的 UIImageView。将UIImageUIImageView 匹配的最佳方式是什么?

我想我想做如下的事情:

[imageView setContentMode:UIViewContentModeScaleAspectFill];

这种工作,但它似乎增加了我的 UIImageView 的大小,但我不想要这个......

【问题讨论】:

  • 将您的 UIImageView 的 clipToBounds(或故事板中的 Clip Subviews)设置为 YES。
  • 为什么我收到了反对票...

标签: ios objective-c uiimageview aspect-ratio


【解决方案1】:

使用setContentMode:UIViewContentModeScaleAspectFit(不是FillFill 表示允许一个维度对于图像视图来说太大,如果图像视图的clipsToBounds 是未设置)。

另外,请注意,在使用自动布局时设置现有 UIImageView 的 image 会导致图像视图的大小发生变化(因为图像的大小决定了图像视图的固有大小)。如果您不希望这样,请添加约束以将高度和宽度保持在某个恒定值(例如显式高度和宽度约束)。

【讨论】:

    【解决方案2】:

    实际上,如果您按照 arturdev 的建议启用剪辑,则 UIViewContentModeScaleAspectFill 也将起作用。将 clipToBounds 设置为 YES(或在情节提要中启用“剪辑子视图”)。 这将导致您的图像在整个视图中拉伸,并且多余的部分会被剪掉。 在某些情况下,这是优于 UIViewContentModeScaleAspectFit 的首选行为;如果图像不完全适合视图矩形,后者将留下空白。

    【讨论】:

      猜你喜欢
      • 2017-01-27
      • 2019-04-08
      • 1970-01-01
      • 2014-05-31
      • 1970-01-01
      • 2012-04-17
      • 2012-07-26
      • 2015-07-14
      • 1970-01-01
      相关资源
      最近更新 更多