24
votes

iPhone 6 plus uses @3x image assets, but iPhone 6 uses @2x image assets - just like iPhone 4 and iPhone 5 (Image resolution for new iPhone 6 and 6+, @3x support added?).

iPhone 5, iPhone 5C and iPhone 5S have the screen resolution 640x1136. The screen resolution of iPhone 6 is 750x1334.

So iPhone 6 will scale up images from 640x1136? Is there any way to make graphics customised for iPhone 6's slightly higher screen resolution?

Edit: I know that the PPI is the same. But say for example I want to have an image take up all available width on both iPhone 5 and iPhone 6. I create a 640x200 px image and name it [email protected]. On the iPhone 6 it's going to be upscaled to 750 pixels width, no?

3
In theory, you could swizzle the imageNamed: method to specifically select @3x (or names with any other symbol) images during runtime if the device is iPhone 6, however I do not recommend this path for a production app.Kaan Dedeoglu
Been getting some downvotes but have no idea why. Please leave a comment when downvoting. Thanks!Niklas Berglund
It's worth mentioning that if you're using auto-layout, your application will have more space on the iPhone 6 to display content. (Not talking about the 6 Plus) If you're not, your app will be stretched/scaled. This is to support any apps that use point-based X positions but don't realize that the width might be more than 1136/568. ie. an app that wants a button to be 30 points from the right border might use an X-pos of 538.0.Craig Otis
@CraigOtis an app that does not use auto layout will not be stretched. You can still use springs and struts or manual layout at different screen sizes. Auto layout just makes things easier.Rog
@RogerNolan I was under the impression that if you weren't using auto layout, your app was "stretched" to fit the 6/6 Plus screen? I have an app that has not been updated to use auto layout, and it does appear to have just been "blown up", at least in the simulator, to fit the screen.Craig Otis

3 Answers

6
votes

iPhone 6 uses @2x image assets and not R4 or something else because apple didn't provide suitable APIs for background images!

The most direct way now is to create 2 assets and programatically load them :(

Check this out: How to specify size for iPhone 6/7 customised edge-to-edge image?

5
votes

iPhone 6 (not plus) has the same DPI as iPhone 4 - 5s, i.e. 326 dpi. So, 2x images still actual.

2
votes

Marat AL is correct reffer to this thread To add to his answer

iPhone 6 might have different resolution but has same density of per pixel inch (PPI)

  • Resolution concerns an absolute number of pixels.
  • Density (aka Pixels per inch - PPI) concerns a relative number of pixels per inch which is same in case of iPhone 6 and previous iPhones , but different in iPhone 6 plus.

Check more about this here in this thread

Hence iPhone 6 uses @2x image same as iPhones 4 , 5 and 5S.

This post will definitely clear all your confusion regarding iPhone 6 resolution

Edit

This post will helped me to understand better about pixelling and scaling iPhone 6 and 6 plus