user1492776
user1492776

Reputation: 280

set retina image in uiimageview

today i first run my app on my iphone but all my images (my background image too) were blurry, i read in the apple documentation and i understand that i should use a double pixel size (640X960 instead of 320X460). to set my image background i just use an uiiamgeview and set the image in the xib file. now, my question is how can i set the image from the .m file and not from my xib file. when i try to set the image from the .m file my image was much bigger then my uiimageview (i see only part from the image)?

thanks!

Upvotes: 1

Views: 2735

Answers (1)

Ryan Poolos
Ryan Poolos

Reputation: 18561

When using retina double sized images you don't actually have to do anything as far as loading them in code or in Interface Builder.

You just need to name the properly and make sure they're in your Xcode project.

For example if you had one image.png you'd need an [email protected] in your Xcode project as well. iOS will automatically use the correct when when displaying on a Retina Device.

Update: In response to your comment.

This will create an UIImageView and set it to the size of the view. Its very similar to how most people do it in Interface Builder.

- (void)viewDidLoad
{
    UIImageView *background = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background.png"];
    [background setFrame:CGRect(0.0,0.0,self.view.frame.size.width,self.view.frame.size.height)];
    [self.view addSubview:background];
}

Upvotes: 10

Related Questions