2011-08-18 110 views
0

我想在我的視圖中有三個按鈕或圖像,每個按鈕或圖像代表一個「武器」。我如何知道用戶選擇了哪個按鈕,並使用這些信息?我以爲我會用一個函數來收集有關所選武器,它的傷害等信息,但我習慣於爲視圖中的每個按鈕創建一個函數。我現在想知道如何確定這些按鈕之間的差異,具體取決於選擇哪一個按鈕。確定用戶按下哪個按鈕

+0

感謝約什的編輯,現在我什麼都沒有做,我只是在想如何去實現它 – Paul

回答

3

您應該創建一個參數,發送者的操作方法:

- (IBAction)weaponPressed:(id)sender; 

就可以檢查對實例變量有關的按鈕發件人:

if (sender == gunWeaponButton) 
    // Do something 
else if (sender == mineWeaponButton) 
    // Do something 
else 
    // Do something else 

此外,您還可以指定一個標籤的按鈕,這是一個簡單的整數值:

gunWeaponButton.tag = 0; 

然後你可以檢查發件人的標籤:

if (sender.tag == gunWeaponButton.tag) 
    // Do something 
+2

在iOS上,你不應該對一個視圖的'tag'使用0 ,因爲這是默認值。 –

+1

我會建議標籤,而不是將發件人與實例變量進行比較,但正如@JoshCaswell指出的那樣,不要使用0作爲標籤,因爲所有沒有標籤集的按鈕都會匹配'if(sender.tag == 0)'。 –

+0

謝謝,它與比較實例變量正常工作,但我找不到標籤的解決方案:我有一個錯誤:「請求成員」標籤「的東西不是結構或聯合」,在行if( sender.tag == ...我已經聲明瞭2個按鈕,如:IBOutlet UIButton * button1;並將這些按鈕設置爲viewDidLoad中的任何想法? – Paul

相關問題