2011-12-15 57 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