0

我想 iPhone 6 Plus 是 1242x2208px。因此,我的@3x 图像是根据这个比例缩放的。应用时,图像比它在 iPhone 6 和 iPhone 5 上显示的要大得多,并带有相应的@2x 图像。我想知道为什么?

下面是一个示例——最后一个图标使用@3x,而前三个图标是从@2x 图像拉伸而来的。

在此处输入图像描述

4

1 回答 1

0

经过几天的努力,我终于找到了问题所在。

事实证明,您必须设置 LaunchImage 集以适当地适应每个设备屏幕。否则,Apple 将假定您的应用程序尚未准备好用于 iPhone 6 和 6 Plus,从而拉伸您的图像资源以适应屏幕。因此,即使我设置了高分辨率图像,它仍然可以识别出它适用于 iPhone 5S 及以下机型。

解决方案是,创建一个 LaunchImage 资产目录,确保每个设备都有正确的启动图像分辨率。对于 iPhone 6 和 6 plus,你需要这些额外的资产:

默认 667h@2x.png - 750 x 1334

默认-736h@3x.png - 1242 x 2208

Default-736h-Landscape@3x.png - 2208 x 1242

然后,在您的项目设置 > 常规 > 应用程序图标和启动图像中,确保您正在使用资产目录并选择正确的 LaunchImage 集。

希望这可以帮助。

请注意,这可能只会困扰那些不使用 Storyboard 而是使用纯代码来管理 UI 的人。

附加说明:我遇到了 Xcode 6 和模拟器的缓存问题。当您更新图像并且它没有生效时,请尝试转到 Simulator > Reset Content and Settings 或在您的 Xcode 中按 cmd + alt + shift + K

于 2014-09-25T04:22:33.010 回答