Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

setBackgroundImage forBarMetrics image size?

I am fairly new in iOS programming and I am creating my first app. I have been trying to use the following code to change the navigation bar background image (this is using the new iOS 5 method):

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"gradientBackgroundPlain.png"] forBarMetrics: UIBarMetricsDefault];

It works fine, but my image is 640 x 88 and it looks too big for the bar. It's like the system doesn't want to scale it, or do I need to do it manually? If I scale the image and create a smaller one it looks pixelated in the retina display.

Any thoughts on this?

Any help or response will be appreciated.

Thanks,

Jorge.-

like image 558
Jorge Avatar asked Sep 22 '11 20:09

Jorge


1 Answers

Your image gradientBackgroundPlain.png should be 320x44, and create a second image named [email protected] with a size of 640x88. Include the @2x image in your bundle, but continue to specify gradientBackgroundPlain.png for the name of the image. The platform automatically chooses the correct size image for use depending on whether there is a retina display present or not.

like image 140
Mark Granoff Avatar answered Oct 14 '22 22:10

Mark Granoff