UIButton图像和视网膜显示

dor*_*kon 3 iphone uibutton ios retina-display

我有一些带有自定义背景图像的按钮,这是我如何做到这一点:

UIImage *buttonImage2Normal = [UIImage imageNamed:@"greyButton.png"];

[showModal setBackgroundImage:buttonImage2Normal
                                        forState:UIControlStateNormal];

UIImage *buttonImage2Pressed = [UIImage imageNamed:@"greyButtonPressed.png"];

[showModal setBackgroundImage:buttonImage2Pressed
                                        forState:UIControlStateHighlighted];
Run Code Online (Sandbox Code Playgroud)

我制作了四张图片,greyButton.png,greyButtonPressed.png和@ 2x版本来支持视网膜.

但是,在视网膜(iPhone模拟器)上我看到了我的按钮,但在iPhone(3G)上,我认为这是使用更大的图像,因为我的按钮几乎没有圆角.

这是正确的方法吗?

run*_*mad 10

只要您将Retina Display图像命名为以下内​​容,您就可以正确地进行操作:filename.pngfilename@2x.png

您可能只想通过制作一个红色的非Retina图像进行测试,然后制作一个蓝色的Retina图像.

在带有Retina刻度的iPhone模拟器上你应该看到一个蓝色按钮,在你的3G iPhone上你应该看到一个红色按钮.