I have some button with custom background image, and here is how I do this:
UIImage *buttonImage2Normal = [UIImage imageNamed:@"greyButton.png"];
[showModal setBackgroundImage:buttonImage2Normal
forState:UIControlStateNormal];
UIImage *buttonImage2Pressed = [UIImage imageNamed:@"greyButtonPressed.png"];
[showModal setBackgroundImage:buttonImage2Pressed
forState:UIControlStateHighlighted];
And I made four images, greyButton.png, greyButtonPressed.png and @2x versions to support retina.
But, on retina (iPhone simulator) I see ok my buttons, but on iPhone (3G) I think that is uses bigger images because my buttons are almost without rounded corners.
This is the right method for doing this?