UIImage 方向问题
Posted
技术标签:
【中文标题】UIImage 方向问题【英文标题】:UIImage Orientation Issue 【发布时间】:2018-03-29 15:07:18 【问题描述】:为什么背景图像会像在图像 2 上那样呈现?纵向模式看起来不错,但是当我将手机更改为横向模式时,背景图像似乎多次渲染同一图像以适应屏幕的整个宽度。为什么会发生这种情况,我该如何解决?
编辑 1:
这是我用来演示此问题的代码:
let backgroundImage = UIImage(named: "Background")
view.backgroundColor = UIColor(patternImage: backgroundImage!)
图片1:
图 2:
【问题讨论】:
来自文档:您可以使用图案颜色来设置填充或描边颜色,就像使用纯色一样。在绘图期间,图案颜色的图像会根据需要平铺以覆盖给定区域。您可能想要一个简单的图像视图,而不是应该相应地拉伸... 【参考方案1】:我按照Alladinian 的建议创建了一个 UIImageView,这有帮助,但它没有通过 x.contentMode 属性正确缩放(我还没有调查原因)。您必须在 UIImageView 声明中使用 autoresizingMask 属性,以使背景图像适合所有内容模式。
这将使它工作:
let backgroundImage = UIImage(named: "Background")
let backgroundImageView = UIImageView(image: backgroundImage)
backgroundImageView.autoresizingMask = [.flexibleHeight, .flexibleWidth]
view.addSubview(backgroundImageView)
【讨论】:
以上是关于UIImage 方向问题的主要内容,如果未能解决你的问题,请参考以下文章
UIImage 在将其转换为 CIImage,然后转换为 CGImage 并返回 UIImage 时失去其方向