新iPhone 6和6+的图像分辨率,@ 3x支持增加?

Bhu*_*hta 140 resolution ios iphone-6 iphone-6-plus

我已经看过上几篇文章讨论像一个在这里这里有关新的iPhone将使用@ 3倍的图像显示的图像分辨率.这是真的吗?

那么这是否意味着我们必须保留三张图片?比方说我有50 X 50的图像,我是否需要保留3张图像以优化新iPhone的外观?

  • 正常(50 X 50)
  • @ 2x - Retina(100 X 100)
  • @ 3x - Retina HD(150 X 150)

或者新款手机只使用@ 2x图像而且没有像@ 3x那样的东西?

我已经通过制作示例项目进行测试,并且所有模拟器似乎都使用@ 3x图像,这很令人困惑.

编辑

这是一些更多的信息

  • 3GS(163 ppi所以使用普通)
  • 4,4s,5和5s(326 ppi所以我们使用@ 2x)
  • 6(326 ppi所以它似乎会使用@ 2x)
  • 6加(这里有401 ppi的混乱)

编辑

基于Tsob和nitin给出的答案,我在项目中添加了@ 3x图像.

信息编辑

我看到很少有用户对iPhone 6使用@ 2x图像的原因感到困惑,即使它具有更高的分辨率,原因是

iPhone 6可能具有不同的分辨率,但具有相同的每像素密度(PPI)

  • 分辨率涉及绝对像素数.
  • 密度(又称每英寸像素数 - PPI)涉及每英寸像素的相对数量,这与iPhone 6和之前的iPhone相同,但在iPhone 6 plus中则不同.

在这个帖子中查看更多相关信息

因此,iPhone 6使用与iPhone 4,5和5S相同的@ 2x图像,因为它具有相同的PPI,而iPhone 6 plus使用@ 3x.

Nit*_*hel 102

更新:

苹果图标图像大小的新链接.

https://developer.apple.com/ios/human-interface-guidelines/graphics/image-size-and-resolution/

在此输入图像描述


是的,这是真的,Apple提供有关图标或图像大小的官方文档

在此输入图像描述

你必须为iPhone6和iPhone6 +设置图像

对于iPhone 6:

750 x 1334 (@2x) for portrait

1334 x 750 (@2x) for landscape
Run Code Online (Sandbox Code Playgroud)

对于iPhone 6 Plus:

1242 x 2208 (@3x) for portrait

2208 x 1242 (@3x) for landscape
Run Code Online (Sandbox Code Playgroud)

有关图像及其分辨率的更多信息,这是最好的有用的帖子

要设置控件的图像大小,您可以设置1x @ 2x和@ 3x,如下所示:

在此输入图像描述

  • 如果所有设备都是视网膜2倍或3倍,为什么资产目录要求仅在iOS 7/8上针对iPhone定位的项目上的1x图像?没有意义. (8认同)

TSo*_*Sob 53

我试过一个示例项目使用标准的,@ 2x和@ 3x图像,iPhone 6+模拟器使用@ 3x图像.因此,似乎要完成@ 3x图像(如果模拟器实际上复制了设备的行为).但奇怪的是,所有设备(模拟器)似乎都使用这个@ 3x图像,当它在项目结构上时,iPhone 4S/iPhone 5也是如此.
Apple对潜在的@ 3x结构缺乏沟通,而他们要求开发人员发布他们的iOS8应用程序非常令人困惑,尤其是在模拟器上看到这些结果时.

**从Apple的网站编辑**:在Apple的开发者空间的"iOS 8上有什么新功能"部分中也发现了这一点:

支持新的屏幕尺度 iPhone 6 Plus使用新的Retina HD显示屏,屏幕比例为3.0.要在这些设备上提供最佳体验,请添加为此屏幕比例设计的新图稿.在Xcode 6中,资产目录可以包括1x,2x和3x大小的图像; 只需添加新的图像资源,iOS将在iPhone 6 Plus上运行时选择正确的资产.iOS中的图像加载行为也识别@ 3x后缀.

仍然不明白为什么所有设备似乎加载@ 3x.也许是因为我使用常规文件而不是xcassets?将尽快尝试.

进一步测试后编辑:好吧,似乎iOS8在这方面有一个话题.在iOS 7.1 iPhone 5模拟器上进行测试时,它正确使用了@ 2x图像.但是当在iOS 8上启动它时,它在iPhone 5上使用@ 3x.不确定这是不是想要的行为,也不是iOS8 GM中的错误/错误或Xcode 6中的模拟器.

  • 是的我用模拟器进行了测试,所有设备都采用@ 3x图像,确实令人困惑 (2认同)

mat*_*att 10

我已经通过制作示例项目进行测试,并且所有模拟器似乎都使用@ 3x图像,这很令人困惑.

在资产目录中创建不同版本的图像,以便图像本身告诉您它的版本:

在此输入图像描述

现在轮流在每个模拟器上运行应用程序.您将看到3x图像仅用于iPhone 6 Plus.

如果通过调用并分配到图像视图中使用其名称(例如one.png,one @ 2x.pngone@3x.png)从应用程序包中提取图像,情况也是如此imageNamed:.

(但是,如果将图像分配给Interface Builder中的图像视图会有所不同 - 在双分辨率设备上忽略2x版本.这可能是一个错误,显然是一个错误pathForResource:ofType:.)

  • @matt我终于发现我的问题与我的app的**部署目标**设置(6.0)有关.我打开了一个问题:http://stackoverflow.com/questions/26333278/xcode-6-loads -3x-image-incorrect-when-apps-deployment-target-is-set-to-6-0-或者向Apple发布错误报告. (3认同)