0

I'm in the middle of transitioning my app to iOS8, and I'm trying to figure out if I will need to make any adjustments at the code level for screen size. Currently I use this method to get the screen size:

[UIScreen mainScreen].bounds.size

On an iPad for instance, this will return 1024x768. An iPhone 5 will return 568x320. Scale factor obviously varies depending on retina capability.

  1. Should I ever expect these numbers to change for iPhone 6 and iPhone 6 Plus?

  2. I am currently providing @2x images for Retina display. Will these be fine for iPhone 6? Since the screen is bigger than an iPhone 5, won't that mean that they'll be slightly blurry? Or is this undetectable? Do I need to enlarge my @2x images?

  3. I'm hearing rumors of using @3x for iPhone 6 Plus. Is this the only real change I'll need to make to support the higher resolution?

Shaun Budhram
  • 3,690
  • 4
  • 30
  • 41

1 Answers1

0

Should I ever expect these numbers to change for iPhone 6 and iPhone 6 Plus?

The values returned by [UIScreen mainScreen].bounds.size will of course be different for the 6 and 6 plus - they have different sized screens, after all. Also note that the 6 plus can go into "Zoom view" (near the bottom of this page), in which case I believe different values will be returned by UIScreen.

I am currently providing @2x images for Retina display. Will these be fine for iPhone 6? Since the screen is bigger than an iPhone 5, won't that mean that they'll be slightly blurry? Or is this undetectable? Do I need to enlarge my @2x images?

You need @3x images now - the iPhone 6+ has a higher-density display, and thus your @2x images would be blurry.

I'm hearing rumors of using @3x for iPhone 6 Plus. Is this the only real change I'll need to make to support the higher resolution?

That and making sure that your app works and looks correctly when scaled to the new screen size. To enable your app to run at full resolution (not in "scaled mode"), you'll need to add a launch image for the device. See this Stack Overflow question for information on how to do that.

Community
  • 1
  • 1
Undo
  • 25,519
  • 37
  • 106
  • 129
  • Could you please extend your answer to include specifically how to add a high-res launch image for the 6/6+? What is the naming convention? – Shaun Budhram Oct 02 '14 at 22:29
  • @ShaunBudhram Are you using a .xcassets file? – Undo Oct 02 '14 at 22:30
  • No - I am currently using actual launch image files (Default*.png). I've read about the new xib launch file. Is this a requirement to support higher resolutions, or can I just add Default@3x.png to enable high resolution? – Shaun Budhram Oct 02 '14 at 22:33
  • 1
    @ShaunBudhram No, I'm afraid you can't do that. I've looked around for a way to just name it in a magic way, and I don't think you can. I think you're going to have to use an asset catalog. See the link in the answer. – Undo Oct 02 '14 at 22:35