Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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 "[email protected]".

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?

like image 798
Fernando Redondo Avatar asked Apr 04 '11 07:04

Fernando Redondo


2 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.

like image 76
Luca Bernardi Avatar answered Oct 12 '22 22:10

Luca Bernardi


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:"%@.%@"];
 } 

}
like image 25
jnpdx Avatar answered Oct 13 '22 00:10

jnpdx