public
Last active

iPhone 5 UIImage Category

  • Download Gist
gistfile1.m
Objective-C
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
+ (UIImage*)imageNamedForDevice:(NSString*)name {
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
if (([UIScreen mainScreen].bounds.size.height * [UIScreen mainScreen].scale) >= 1136.0f)
{
//Check if is there a path extension or not
if (name.pathExtension.length) {
name = [name stringByReplacingOccurrencesOfString: [NSString stringWithFormat:@".%@", name.pathExtension]
withString: [NSString stringWithFormat:@"-568h@2x.%@", name.pathExtension ] ];
 
} else {
name = [name stringByAppendingString:@"-568h@2x"];
}
//load the image e.g from disk or cache
UIImage *image = [UIImage imageNamed: name ];
if (image) {
//strange Bug in iOS, the image name have a "@2x" but the scale isn't 2.0f
return [UIImage imageWithCGImage: image.CGImage scale:2.0f orientation:image.imageOrientation];
}
}
}
return [UIImage imageNamed: name ];
 
}

If you don't add the @2x modifier to the name, [UIImage imageNamed: name ]; will return an image with the correct scale.

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.