不同 iOS iPhone 尺寸上的全屏图像

Posted

技术标签:

【中文标题】不同 iOS iPhone 尺寸上的全屏图像【英文标题】:Fullscreen image on different iOS iPhone sizes 【发布时间】:2016-12-07 16:06:32 【问题描述】:

我并非不知道围绕该主题存在多少问题,我读过的最多,但无法找到应该做的常见事情的直接答案。

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

当前策略:

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

名称:mypicture-320 尺寸:320 x 568 名称:mypicture-375 尺寸:375 x 667 名称:mypicture-414 尺寸:414 x 736

然后,当我想获取图像时,我会在代码中执行一些操作,例如(伪代码):

if iPhone5 
    return mypicture-320

else if iPhone6 
    return mypicture-375

else if iPhone6Plus 
    return mypicture-414

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

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

名称:mypicture-320 比例:@2 实际尺寸:640 x 1136 名称:mypicture-375 比例:@2 实际尺寸:750 x 1334 名称:mypicture-414 比例:@3 实际尺寸:1242 x 2208

以与前面所述相同的方式调用它们。

【问题讨论】:

这毫无意义。如果您有一个矢量图像,则您不需要三个不同的图像。您只需要 一个 图像。这就是矢量图像的全部 @matt 以及该向量的大小是多少? iPhone 6 和 iPhone 5 有两种不同的尺寸,比例尺@2 您可能需要将措辞从 size 更改为 ratio,因为矢量图像与大小无关。 ios 中的@Cœur 向量是通过 PDF 实现的,它确实有大小,应该是比例“@1”的大小。这就是 xcode 如何确定要生成的 png 的大小 "以及该向量的大小是多少" 无论您将包含图像视图设置为什么大小。而且您已经说过它是“全屏”。这与普通 PNG 图像完全相同。您没有针对多个屏幕尺寸的多个 PNG 图像;你有一个正确分辨率的尺寸,它会自动缩小以适合图像视图。确实,有人可能会争辩说,您对“矢量”的使用在这里只是一个红鲱鱼。 【参考方案1】:

如何在不同尺寸的手机上处理全屏尺寸的图像?

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

如果您需要以某种特殊方式拉伸/平铺图像以使其始终完全填满屏幕,请使用resizable image。使用资产目录,您可以使用切片比在代码中更强大地配置它。例如,下面的屏幕截图显示了 iPhone 4s 和 iPhone 7;尽管大小和纵横比差异很大,但图像在两者上都填满了屏幕。

【讨论】:

虽然 iphone5 和 iphone6 具有不同的纵横比,但这会导致剪辑 可能不会导致剪辑。您可以使用方面适合而不是方面填充。但是,正如我在评论中所说,很明显,一张图像本身不能具有您会发现自己的每种情况的纵横比。但是,您将永远通过尝试提供多个图像来成功覆盖所有纵横比;这不是 Apple 想要你做的,也不值得做。毕竟,如果您的应用程序在 iPad 上运行,并且具有分屏多任务处理功能,那么您的“屏幕”纵横比可以从 1:1 到惊人的 1:3! 添加了屏幕截图以显示使用可调整大小图像的结果。 我要把这个给你,只是玩弄这个,据我所知,如果有任何翘曲发生,它在 iPhone5 和更高屏幕之间用眼睛看不到可能是由于正如@Cœur 提到的所有纵横比都是相同的。这肯定会让事情变得更容易 它有助于保持透视。你正在制作一个 iPhone 应用程序,而不是蒙娜丽莎。 :)【参考方案2】:

320 x 568、375 x 667 和 414 x 736 都具有相同的 9:16 比例。

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

【讨论】:

我同意,但是“@1x”的大小是多少?因为当 xocde 为 iPhone5 生成“@2x”时,它需要制作大小为 640 x 1136 的图像,而对于 iPhone6,它需要制作 750 x 1334。据我了解,尽管它根据“@”的倍数生成大小1x" 尺寸 @pflous 你应该用 9x16 的简单矢量图像亲眼看看。 打算在我访问 Photoshop 后立即尝试

以上是关于不同 iOS iPhone 尺寸上的全屏图像的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 需要为不同的 iPhone 调整按钮和图像的大小

如何在 iOS 中将全屏大小的图像设置为启动屏幕?

iOS:关于全屏图像大小,这是一个好主意吗?

ios UIActivity子类的不同图像大小

在 Xcode 中将图像尺寸调整为不同的 iPhone 屏幕尺寸

为不同的 iOS 设备使用不同的图像分辨率