2012-03-10 96 views
0

我有一個按鈕,一旦用戶提交表單,按鈕圖像應該變爲DONE.PNG,否則它將保持爲SUBMIT.PNG如何識別哪個按鈕被點擊

我需要知道以下; 1)我們如何編寫一個方法來知道用戶點擊了哪個按鈕。 (如果他點擊的時候有它的DONE.PNGSUBMIT.PNG圖像按鈕)

我的按鈕單擊事件是-(void)buttonClicked : (id)sender {}

回答

0

當你使用一個按鈕,只有改變自己的形象,再有,你可以遵循兩個簡單的方法:

  1. 檢查按鈕的圖像的名字,如果它DONE.PNG然後做什麼需要並改變圖像,反之亦然。

  2. 有一個變量,你可以採取整數(它會幫助你,如果你有更多的圖像變化在同一個按鈕)跟蹤按鈕狀態/圖像。

例如,我們將typedef buttonState,並檢查它的合適情況。

.h文件

//之前接口聲明..

typedef enum 
{ 
    ButtonStateDone = 1, 
    ButtonStateSubmit, 
    //any other state that it may have. 
} ButtonState 

//接口

聲明..

ButtonState buttonState; //它,我們將使用一個類級別的變量來跟蹤按鈕狀態。

.m文件

最初設定buttonState爲你展示它的初始視圖。假設按鈕顯示完成。PNG 所以buttonState = ButtonStateDone;現在

,在按鈕動作,你將改變這個

if(buttonState == ButtonStateDone) 
{ 
//do something and change button state. 
} 
if(buttonState == ButtonStateSubmit) 
{ 
//do something and change button state. 
} 

在這裏,我用typedef,如果您需要爲按鈕超過2個州否則你可以簡單地使用它是有用的BOOL變量。

1

通常你會設置的UIButton的標籤。

- 在關於UIButton元素的信息下進行的接口或故事板。

-Programatically你這樣做:myButton.tag = 23;

然後在buttonClicked你這樣做:

UIButton* senderButton = (UIButton*) sender; 
if(senderButton.tag==23) { 
    // It's the button as submit 
    // Set button image 
    senderButton.tag = 5; 
} 
if(senderButton.tag==5) { 
    // Button is done 
} 

希望你得到它的工作:)

+0

是否有任何其他方式我可以做到這一點,而不使用標籤 – shajem 2012-03-10 19:12:43

0

您可以將標籤添加到該按鈕,即NSInteger的buttonTag = [發送方標籤],然後必須條件語句來檢查標記值以確定哪個按鈕被點擊。

+0

是否有任何其他方式,我可以做到這一點,而不使用標籤 – shajem 2012-03-10 19:06:41

相關問題