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

我在这里和这里看到了一些关于图像分辨率的文章和讨论,这些新的iPhone将使用@ 3x图像进行显示。 这是真的吗?

那么这是否意味着我们将不得不保留三张图片? 举例来说,我有一个50 X 50的图像,我将不得不保留3个图像来优化新iPhone的外观?

  • 正常(50 X 50)
  • @ 2x – 视网膜(100 X 100)
  • @ 3x – Retina HD(150 X 150)

或者,新的手机只能使用@ 2x图像,而没有像@ 3x?

我已经做了一个示例项目的testing,所有模拟器似乎都使用@ 3x图像,这是令人困惑的。

编辑

这里是一些更多的信息

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

编辑

基于Tsob和nitin给出的答案,我在我的项目中添加了3张图片。

信息编辑

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

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

  • 分辨率涉及像素的绝对数量。
  • 密度 (也就是每英寸像素数-PPI)涉及每英寸像素的相对数目,在iPhone 6和以前的iPhone中是相同的,但是在iPhone 6中是不同的。

在这个线程查看更多关于这个

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

我在示例项目中尝试过使用标准,@ 2x和@ 3x图像,而iPhone 6+模拟器使用@ 3x图像。 所以似乎有@ 3x图像要做(如果模拟器实际上复制设备的行为)。 但奇怪的是,所有设备(模拟器)在项目结构iPhone 4S / iPhone 5上似乎都使用这个@ 3x图像。
苹果公司缺乏来自@ 3x结构的沟通,他们要求开发者发布他们的iOS8应用程序是相当混乱的,特别是在模拟器上看到这些结果的时候。

**从苹果网站编辑**:在苹果开发者空间的“iOS 8新增function”部分也发现了这一点:

支持新的屏幕比例 iPhone 6 Plus使用屏幕比例为3.0的新型Retina HD显示器。 为了在这些设备上提供尽可能好的体验,请包含为此屏幕比例devise的新作品。 在Xcode 6中,资产目录可以包含1x,2x和3x大小的图像; 只需添加新的图像资源,iOS将在iPhone 6 Plus上运行时select正确的资产。 iOS中的图片加载行为也可以识别@ 3x后缀。

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

进一步testing后编辑:好吧,似乎iOS8在这方面有一个谈话。 在iOS 7.1 iPhone 5模拟器上testing时,它会正确使用@ 2x图像。 但是,在iOS 8上启动相同的应用程序时,它会在iPhone 5上使用@ 3x。不知道这是iOS8 GM或Xcode 6中的模拟器所需的行为或错误/错误。

更新:

苹果图标大小的新链接。

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

在这里输入图像描述


是的,这里是苹果提供的关于图标或图像大小的官方文档

在这里输入图像描述

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

对于iPhone 6:

750 x 1334 (@2x) for portrait 1334 x 750 (@2x) for landscape 

对于iPhone 6 Plus:

 1242 x 2208 (@3x) for portrait 2208 x 1242 (@3x) for landscape 

有关图像的更多信息和它的分辨率这是最好的有用的职位

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

在这里输入图像描述

我已经做了一个示例项目的testing,所有模拟器似乎都使用@ 3x图像,这是令人困惑的。

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

在这里输入图像描述

现在依次在每个模拟器上运行应用程序。 您将看到3x图像仅在iPhone 6 Plus上使用。

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

(但是,如果将图像分配给Interface Builder中的图像视图是有区别的 – 在双重分辨率设备上会忽略2x版本,这可能是一个bug,显然是pathForResource:ofType:一个错误。

ios将始终尝试采取最好的形象,但会回落到其他选项..所以如果你只有在应用程序中的正常图像,它需要@ 2倍的图像,它会使用正常的图像。

如果只在项目中放置@ 2x,并在普通设备上打开应用程序,则会缩放图像以显示。

如果你的目标是ios7和ios8设备,并且想要最好的质量,那么你需要@ 2x和@ 3x用于手机,普通和@ 2x用于ipad资产,因为没有非视网膜电话,没有@ 3x ipad。

也许最好是从vectorgraphics应用程序中创build资产…检查http://mattgemmell.com/using-pdf-images-in-ios-apps/