不同 iOS iPhone 尺寸的全屏图像

Fullscreen image on different iOS iPhone sizes

我不是不知道围绕该主题存在多少问题,我已经阅读了大部分内容,但无法找到一个应该是常见事情的直接答案。

如何处理不同 phone 尺寸的全屏尺寸图像?

当前策略:

我正在使用矢量,所以我的想法是在 3 个不同的图像资产中创建 3 个矢量 (PDF):

然后当我想获取图像时,我会用代码(伪代码)做一些事情:

if iPhone5 {
    return mypicture-320
}
else if iPhone6 {
    return mypicture-375
}
else if iPhone6Plus {
    return mypicture-414
}

这感觉不对,好像现在只使用 xcassets 应该有更好的方法。我错过了什么吗?

相关问题:如果我选择不使用矢量,那么我将需要以下图像:

按照前面描述的方式调用它们。

How does one handle full screen sized images on on different phone sizes?

通过将全尺寸图像 view 放在不同的 phone 尺寸上。约束将图像视图的边缘绑定到屏幕的边缘(实际上),因此无论屏幕有多大,它都会填满屏幕。并且使用正确的内容模式会导致包含的图像调整大小以匹配。

如果您需要图像以某种特殊方式 stretch/tile 以便它 总是 完全填满屏幕,请使用 resizable image。使用资产目录,您可以使用切片比在代码中更强大地配置它。例如,下面的屏幕截图显示 iPhone 4s 和 iPhone 7;尽管尺寸和宽高比差异很大,但图像会填满屏幕。

320 x 568、375 x 667 和 414 x 736 的比例均为 9:16。

所以你可以在@1x 制作一张 9 x 16 的矢量图像就可以了。