【问题标题】:Scale an Image in ImageView (Scale x,y) - IOS在 ImageView 中缩放图像(缩放 x,y) - IOS
【发布时间】:2016-12-27 20:50:49
【问题描述】:

我通常在 Android 中使用 scaleX 和 scaleY 属性来缩放 imageView 的图像。

我怎样才能在 IOS 中做同样的事情?我真的是 IOS 新手,我正在使用 swift 3,但我没有发现任何类似的东西。

【问题讨论】:

标签: ios imageview scale


【解决方案1】:

如果您需要按比例缩放图像,以下代码可能适合您:

if let cgImage = imageView.image?.cgImage, let orientation = imageView.image?.imageOrientation {
    imageView.image = UIImage(cgImage: cgImage, scale: newScale, orientation: orientation)
}

但是,如果您只想以与原始图像不同的大小显示它,则应使用呈现它的UIImageView 的大小来控制图像的大小。为确保图像与视图大小正确缩放,请查看UIImageView.contentMode 属性:https://developer.apple.com/reference/uikit/uiview/1622619-contentmode

【讨论】:

  • 我试过你的代码但没有改变任何东西,我只是改变了:newScale with 0.5
  • contentMode 是否设置为 Scale to Fill?如果是这样,UIImage 可能会被重新调整以填充UIImageView。正如我所说,是UIImageView 的大小决定了UIImage 的大小,而不是相反(除非您选择不会导致图像大小调整的contentMode,例如center) .
  • 您在UIImageView 上定义了哪些约束?
  • 我更改了 contentMode,现在可以正常工作了!这是我一直在寻找的解决方案,但我怎样才能仅缩放 Y 或仅缩放 X?有可能吗?
  • 这是可能的,但要复杂得多。除了显示之外,您是否需要缩放的UIImage 用于其他目的?如果没有,您是否事先知道图像的预期尺寸?
猜你喜欢
  • 2020-06-18
  • 2018-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多