Alex Rivera | Logout

Universal application iPad/iPhone image naming convention?

Asked 2010-10-28T07:04:20.650
14

In my application I need to get the correct image based on the device iPad/iPhone 4/iPhone 3 device.

For example:

I have an image named a.png (width 40,height 20) for iPhone 3/iPod, and a@2x.png (width 80,height 40) for iPhone 4.

If I mentioned the code

UIImage *myImage=[UIImage imageNamed:@"a.png"];

myImage contains (80*40) image if it's iPhone 4. myImage contains (40*20) image if it's iPod/iPhone 3.

My question is how do I get the image for iPad (60*30) like above naming convention.

I tried giving a~ipad.png as an image name and it's not working. Can you point out where there is a mistake?

And if I use the condition using [UIDevice currentDevice]; isIpod -> load(60*30) image otherwise load images for iPhone/iPod it's working fine.

But I need to get it to work without using the condition, and using the naming convention like a.png for iPhone/iPod, a.@2x.png for iPhone 4 and likewise for iPad.

Thanks in advance.

Edit
Report

1 Answer

7

Further to Nate's post, the specific documentation from Apple describing the naming convention can be found at:

Supporting High-Resolution Screens - Updating Your Image Resource Files

According to the link, the naming convention pattern is as follows:

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

For example: "MyImage@2x~ipad.png" for a high-res iPad-specific image or "MyImage~iphone.png" for a standard-res iPhone-specific image.

answered 2012-09-07T22:34:57.667

Your Answer