2011-12-15 61 views
0

我有一个小错误工作。每个按钮有两个代码段。一个是这样的:在iPhone上改变背景图像的按钮

-(IBAction)clickoneButton:(id)sender 
{ 
    [sender setBackgroundImage:[UIImage imageNamed:@"cnumber_1.jpg"] forState:UIControlStateNormal]; 
} 

,另一个是这样的:

-(IBAction)oneButton:(id)sender 
{ 
    self.enteredPhoneNumberString = [self.enteredPhoneNumberString stringByAppendingString:[NSString stringWithFormat:@"%d", 1]]; 
    [self updateFormattedPhoneNumberLabel]; 

    [sender setBackgroundImage:[UIImage imageNamed:@"Number_1.jpg"] forState:UIControlStateNormal]; 
} 

首先是设置要触地。另一个是Touch Up Inside。该应用程序看起来像普通拨号器。因此,第一个图像是淡蓝色按钮,第二个图像是深蓝色按钮,就像iPhone拨号程序一样。问题是当我按下按钮时,它几乎看起来像黑色图像仍然在Touch Down浅蓝色图像的后面。它正在变成一个较浅的彩色图像,但几乎像黑色图像透明或透明一样。不知道如何解释它。如果你有任何想法,为什么在Touch Down发生时淡蓝色变暗,我会很感激任何帮助。由于

触摸之前和释放(正确)在触地降落(不正常)

Button on Touch Down 按钮后

Button before touch and after release 按钮

What the Touch Down button should look like 触摸按下按钮应该是什么样子

回答

3

基础的根据您提供的两段代码,您没有为按钮按下时设置图像。尝试更新代码以在加载视图时使用以下内容:

// sets the background image for when the button is not pressed 
[sender setBackgroundImage:[UIImage imageNamed:@"cnumber_1.jpg"] forState:UIControlStateNormal]; 

// sets the background image for when the button is pressed 
[sender setBackgroundImage:[UIImage imageNamed:@"Number_1.jpg"] forState:UIControlStateHighlighted]; 
+0

感谢您的工作就像一个魅力。我需要做的只是将forState更改为clickoneButton(及其他)上的突出显示,并显示正确的图像。谢谢 – steven 2011-12-15 18:31:07