2010-07-14 90 views
2

我已將5個圖像存儲在可變數組中,並通過將它們附加到UIButton中隨機顯示在iPhone視圖中。現在我想改變一個按鈕上的圖像,我將點擊它。但在我的代碼中,只有最後一幅圖像的變化不是我稱之爲動作的圖像。單擊更改UIbutton圖像

+0

我修剪請求的數目你的問題緊迫。總的來說,將這個問題添加到問題上並不是一個好主意,因爲這裏的讀者絕大多數是志願者,他們不太喜歡匆忙。請不要在將來添加此項。謝謝。 – halfer 2015-12-03 20:39:21

回答

4

這裏是突出了點擊的按鈕

-(void) changeButtonImage:(id) sender{ 
    [button1 setBackgroundImage:[UIImage imageNamed:@"button1Image_off.png"] forState:UIControlStateNormal]; 
    [button2 setBackgroundImage:[UIImage imageNamed:@"button2Image_off.png"] forState:UIControlStateNormal]; 
    [button3 setBackgroundImage:[UIImage imageNamed:@"button3Image_off.png"] forState:UIControlStateNormal]; 

    UIButton *button = sender; 

    if (button.tag == 0) { 
     [button1 setBackgroundImage:[UIImage imageNamed:@"button1Image_on.png"] forState:UIControlStateNormal]; 
    }else if (button.tag == 1) { 
     [button2 setBackgroundImage:[UIImage imageNamed:@"button2Image_on.png"] forState:UIControlStateNormal]; 
    }else if (button.tag == 2) { 
     [button3 setBackgroundImage:[UIImage imageNamed:@"button3Image_on.png"] forState:UIControlStateNormal]; 
    } 

} 

希望這有助於...

編碼快樂的3個按鈕的代碼...

+0

@ Suriya:謝謝Suriya它幫助了我:-) – Developer 2010-09-24 07:18:43

+2

Welcm ..獲得一票是一個最好的感謝...:P – 2010-09-24 13:14:16

2

如果你正在尋找如何更改按鈕上的圖像只是做:

[myButton setImage:[UIImage imageNamed:@"myImage.png"] forState:UIControlStateNormal]; 

你可以把它通過你的陣列循環,但創建一個變量來存儲你是什麼圖像索引。然後使用上面的語句轉到下一個分配圖像。

+0

我有5個圖像,我隨機調用它們來生成5 * 5的網格。在這個網格中,圖像是隨機顯示的。現在我想要的是,當我點擊或選中此網格中的任何圖像時,圖像應該會發生變化。但是當我單擊網格中的任何圖像時,只有最後一張圖像會在(5,5)位置處改變我,即圖像。我已經拍下了按鈕並在其上設置了圖像。這意味着我有一個5 * 5的圖像按鈕網格。現在請幫助。 – Developer 2010-08-03 09:52:53

1

您是否爲每個按鈕都有一個Outlet(IBOutlet)。您應該列出每個按鈕作爲插座,並使用Interface Builder將每個按鈕連接到這些變量。然後爲每個按鈕的touchUpInside事件創建一個函數。讓這個按鈕按下。使這個功能類似於:

-(void) buttonPressed:(id) sender 
{ 
    ((UIButton *)sender).image = [UIImage imageNamed:@"Image.png"]; 
} 

你會想設置一個像currentImage這樣的變量來跟蹤設置的圖像。每次單擊增加該變量(currentImage ++)。如果它獲得>一些最後的量設置回0,然後你可以做

if (currentImage == 0) { set first image; } else if (currentImage == 1) { set second image.. } 

等等

這是否幫助?