我认为iPhone 6 Plus的版本为1242x2208px。因此,我的@ 3x图像根据此比例缩放。 应用时,图像比iPhone 6和iPhone 5上显示的图像大得多,带有相应的@ 2x图像。我想知道为什么?
下面是一个示例 - 最后一个图标使用的是@ 3x,而前三个图标是从@ 2x图像拉伸的。
答案 0 :(得分:0)
经过几天的挣扎,我终于找到了问题。
事实证明,您必须设置LaunchImage集以适当地适合每个设备屏幕。否则,Apple将假设您的应用尚未准备好用于iPhone 6和6 Plus,从而扩展您的图像资源以适应屏幕。因此,即使我设置了高分辨率图像,它仍然可以识别它适用于iPhone 5S及以下版本。
解决方案是,创建一个LaunchImage资产目录,确保每个设备都具有正确的启动图像分辨率。对于iPhone 6和6 plus,您可以使用以下附加资产:
Default-667h@2x.png - 750 x 1334
Default-736h@3x.png - 1242 x 2208
Default-736h-Landscape@3x.png - 2208 x 1242
然后,在您的项目设置中>一般>应用程序图标和启动图像,确保您使用资产目录并选择正确的LaunchImage集。
希望这会有所帮助。
请注意,这可能只会困扰那些不使用Storyboard而是使用纯代码来管理UI的人。
附加说明:我遇到了Xcode 6和模拟器的缓存问题。当您更新图像并且它没有生效时,请尝试转到模拟器>重置内容和设置或在Xcode中按cmd + alt + shift + K