I know there were some discussions about this but i could not find good answer?
My questions are -
I know that -
[UIImage imageNam
I improved on Bogatyr's answer by checking if the retina image exists. Probably not overly necessary, but I found it useful when testing so I can just create one image file.
+ (UIImage *) imageNamedSmart:(NSString *)name {
NSFileManager *fileManager = [[[NSFileManager alloc] init] autorelease];
NSString *retinaFileName = [NSString stringWithFormat:@"%@@2x", name];
NSString *filePath = [[NSBundle mainBundle] pathForResource:retinaFileName ofType:@"png"];
if ( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad && [fileManager fileExistsAtPath:filePath]) {
return [UIImage imageNamed:[retinaFileName stringByAppendingString:@".png"]];
}
return [UIImage imageNamed:[NSString stringWithFormat:@"%@.png", name]];
}