我在故事板中的视图包含一个imageView,其约束为top = 0,height = 55,width = 230且水平居中。使用"视图作为"在Xcode的最后一个版本中,我意识到所有屏幕的图像显示和质量都不一样。在iPhone 4s中质量很好但图像同样大。否则,在iPhone 6s plus屏幕中,我看到图像尺寸对于屏幕有利,但质量不是很好。
如何在所有屏幕中以相同的方式显示图像?任何人都可以给我正确的约束来解决这个问题吗?
答案 0 :(得分:2)
根据设备的屏幕,您应该定义图像的各种表示。
来自Apple Developer门户网站:
iOS使用坐标系统在屏幕上放置内容。这个 坐标系基于点的测量,映射到 显示屏中的像素。
如果您定义了所有三种图像分辨率(normal
/ @1x
,@2x
,@3x
),那么您应该很高兴。
重要的是,normal
或@1x
应具有以下参数:height: 55, width: 230
@2x
应该是@1x
的两倍:height: 110, width:460
@3x
的大小应为@1x
的三倍:height: 165, width:690
让我们假设你的图像被称为my_image
,它是一个png。
@1x
应该被称为:my_image.png
@2x
应该被称为:my_image@2x.png
@3x
应该被称为:my_image@3x.png
将所有这些图片添加到Assets.xcassets
。点击Assets.xcassets
。打开后,您应该会在左侧看到+
符号。
点击+
符号,为您的图像命名:
将它们插入这些插槽中:
现在,当您尝试使用此图像时,您只需在Swift中说:
let image = UIImage(named: "my_image")