read

With every iOS updates and new release of devices from Apple, there are more things developers have to do.

In order to support these new devices, you first need to understand these devices.

Device Resolutions

Apple provides a table matrix on the App Icons, Screen size, and tool bar icon sizes for the various devices.

This table summarizes the resolutions:

  iPhone 5 iPhone (Retina) iPhone iPad (Retina) iPad
Actual 640 x 1136 640 x 960 320 x 480 1536 x 2048 768 x 1024
Default.png 640 x 1136 640 x 960 320 x 480 1536 x 2008 768 x 1004
App Icon 114 x 114 114 x 114 57 x 57 144 x 144 72 x 72
Toolbar icon 40 x 40 40 x 40 20 x 20 40 x 40 20 x 20

Note that for iPads, the Default.png should not include the status bar (20px).

Image Resource File

Apple introduced an easy way to load images automatically for the devices.

The rule goes like this:

  • Standard: <ImageName><device_modifier>.<filename_extension>

  • High resolution: <ImageName>@2x<device_modifier>.<filename_extension>

For example,

  • MyImage.png - Default version of an image resource.
  • [email protected] - High-resolution version of an image resource for devices with Retina displays.
  • MyImage~iphone.png - Version of an image for iPhone and iPod touch.
  • MyImage@2x~iphone.png - High-resolution version of an image for iPhone and iPod touch devices with Retina displays.
  • MyImage~ipad.png - Version of an image for iPad
  • MyImage@2x~ipad.png - High-resolution version of an image for iPad with Retina displays.

With that knowledge, you could load a UIImage

UIImage *anImage = [UIImage imageNamed:@"MyImage"];

and the appropriate resource file will be loaded.

iPhone 5 - taller screen

Unfortunately, for the taller iPhone 5, it does not automatically load MyImage@2x~iphone5.png.

You could use a handy UIImage category to load.


Image

@samwize

¯\_(ツ)_/¯

Back to Home