新的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.png , one@2x.png和one@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/