设备上的图像尺寸错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设备上的图像尺寸错误相关的知识,希望对你有一定的参考价值。
我正在制作ios应用并在photoshop中创建了两个图像。背景图像(pic1)2208x1242像素和第二图像(pic2)928x195像素大小。当我在横向模式下在设备上运行应用程序(iPhone 7 plus)时,第二张图像占据设备的近一半宽度。
qazxsw poi以编程方式放置的第二张图片
似乎图像在两个方向上都被拉伸。如何解决/避免这个问题?
1)应用imageView.contentMode = .scaleAspectFit之后的相同问题// Constraints
imageView.heightAnchor.constraint(equalToConstant: 195).isActive = true
imageView.widthAnchor.constraint(equalToConstant: 928).isActive = true
imageView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
imageView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
2)如果我替换此代码
同
imageView.heightAnchor.constraint(equalToConstant: 195).isActive = true
imageView.widthAnchor.constraint(equalToConstant: 928).isActive = true
然后一切正常,但我不明白为什么第一个版本的代码(imageView.heightAnchor和imageView.widthAnchor)不起作用?
设置图像模式方面适合
imageView.frame = CGRect(x: 0, y: 0, width: 928, height: 195)
我发现了导致这个问题的原因。
heightAnchor.constraint和widthAnchor.constraint使用点作为大小测量而不是像素,我的图像大小928x195以像素为单位。所以要修复问题,我只需要将@ 3x图像的图像大小除以3。
来自UIKit文档:
NSLayoutDimension - 使用流畅API创建基于大小的布局约束对象的工厂类。概述使用这些约束以使用“自动布局”以编程方式定义布局。所有尺寸均以POINTS测量。
以上是关于设备上的图像尺寸错误的主要内容,如果未能解决你的问题,请参考以下文章