我是剛剛開始使用iPhone和Obj-C一個月的新手。哪個按鈕被挖掘... iPhone和Obj-C的問題
我有兩個按鈕,他們都調用同一個函數如下
[play addTarget:self action:@selector(showQstn:) forControlEvents:UIControlEventTouchUpInside];
裏面的功能showQstn,我想知道被竊聽了什麼按鈕。任何想法? 也歡迎其他想法。
TIA
我是剛剛開始使用iPhone和Obj-C一個月的新手。哪個按鈕被挖掘... iPhone和Obj-C的問題
我有兩個按鈕,他們都調用同一個函數如下
[play addTarget:self action:@selector(showQstn:) forControlEvents:UIControlEventTouchUpInside];
裏面的功能showQstn,我想知道被竊聽了什麼按鈕。任何想法? 也歡迎其他想法。
TIA
假設showQstn:
被聲明爲
-(void) showQstn:(id)sender;
的參數sender
是事件的觸發對象。
編輯:你也可以區分按鈕使用tag
property。每個視圖都有一個唯一的tag
標識符(可以通過編程方式或通過Interface Builder進行設置)。
編輯: UIButton
沒有title
屬性,因此你得到的錯誤。它有一個titleForState:
。所以你應該改變你的代碼如下:
NSString *title = [sender titleForState:UIControlStateNormal];
if ([title isEqualToString:@"PLAY!"]) {
name.text = title;
}
你獲得點擊的按鈕作爲參數傳遞給你的IBAction爲方法showQstn :.您可以考慮在按鈕上設置標籤,然後使用[發件人標籤]來確定哪一個觸發了IBAction方法。