2011-04-01 123 views
3

我有一些按钮,自定义背景图片,这里是我如何做到这一点:UIButton的图像和视网膜显示

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

[showModal setBackgroundImage:buttonImage2Normal 
             forState:UIControlStateNormal]; 

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

[showModal setBackgroundImage:buttonImage2Pressed 
             forState:UIControlStateHighlighted]; 

而且我做了四象,greyButton.png,greyButtonPressed.png和@ 2个版本支持视网膜。但在视网膜(iPhone模拟器)上,我看到了我的按钮,但在iPhone(3G)上我认为这是使用更大的图像,因为我的按钮几乎没有圆角。

这是正确的方法吗?

回答

10

你是正确的,只要你的名字你的视网膜显示的图像是这样做的:filename.png[email protected]

你可能会通过使非视网膜图像,这是一个红色的颜色,然后视网膜想简单测试这是一个蓝色的图像。

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

+0

这是否自动完成?我不必在代码中编写@ 2x? – bluezald 2011-09-08 07:57:00

+1

@BacalsoVincent Nope,你不必在代码中编写它。至少不是在使用'[imageNamed:@“myimage”]''时 – 2012-05-31 13:29:49