Search code examples
iosuiscreen

Why [UIScreen mainScreen].bounds] is not returning full screen size?


I have an app that was created prior to the new iPhone 5 retina widescreen device. Now i am trying to support this high definition widescreen.

I adjust the main ViewController and the main window XIB files so that they are set to Autolayout. I can verify that the width/height displayed via the IB shows 320 x 568.

However, when I run in simulator, i can see that the height is still 480. The code im using to print the height (and width) is in the main view controller's viewWillAppear method:

[UIScreen mainScreen].bounds]

Why is the size.height still 480 instead of 568?


Solution

  • You have to add the iPhone 5 Launch image (Default-568h@2x.png) to your project.

    The 568 point tall launch image tells iOS to launch your app in 4" mode. If you don't have this image, your app is treated as a 3.5" app. Even if it is 4" compatible.