Specify images for iPad in Xcode like @2x for iPhone 4

I have upgraded my current target to iPad and made a universal app and the time for adjusting my iphone app to ipad would decrease significantly if there is an answer for this question.

By this time everybody know that if you have a image called "football.png" and want support for Retina Display you should double the size of the image and call it "football@2x.png".

My question is if there is something for iPad like *football@iPad_which_is_another_size.png*?

If there isn't a way to do this, do I have to connect every image to an IBOutlet and set the frame programmatically?

Answers


In iOS 4.0 and later, it is possible to mark individual resource files as usable only on a specific type of device To associate a resource file with a particular device, you add a custom modifier string to its filename. The inclusion of this modifier string yields filenames with the following format:

 <basename><device>.<filename_extension>

To load the iPad specific resources you should use ~ipad. Example: create the image named AwesomeImage~ipad.png and load with [UIImage imageNamed:@"AwesomeImage.png"] like you do for retina display image.

For more information: http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/LoadingResources/Introduction/Introduction.html At "iOS Supports Device-Specific Resources" section.


I don't think there's a way to get the OS to pick it automatically for you, like there is for the Retina display. But, you could create a convenience method to return your filenames for you like:

-(NSString*) myImageFilename:(NSString*)baseName withExtension:(NSString*)ext {

 if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
  return [NSString stringWithFormat:"%@@iPadSize.%@"];
 } else {
  return [NSString stringWithFormat:"%@.%@"];
 } 

}

Need Your Help

Android In App Billing: Can't start launchPurchaseFlow because launchPurchaseFlow is in progress

android in-app-billing android-billing

I'm implementing In App Billing for the first time and I'm testing my first purchases using the static SKU ids.

Why are regular expressions called "regular" expressions?

regex history

Why are regular expressions called regular expressions?