2012-02-17 106 views
0

我做了一個簡單的IOS。 UI包含按鈕的應用程序。例如,我有九個按鈕,每個按鈕代表與數字鍵盤相同的數字。我按照以下方法制作了這個按鈕,將它放到故事板並在複製按鈕8次後,使用ctrl拖動功能創建了Touch Up Inside事件。當我在iOS中點擊按鈕時觸發了兩次事件。應用程序

問題是當我按下按鈕時,事件有時會出現兩次。它隨機發生。我把一個斷點放到NSLog行中,我根本沒有看到有缺陷的東西。點擊一次我猜發生了錯誤,當你複製的按鈕,以便檢查線路在你的故事板時digitPressed

- (IBAction)digitPressed:(UIButton *)sender { 
    if ([lastPressed isEqualToString:[sender currentTitle]]) { 
     NSLog(@"Douple pressed digit"); // break it here 
    } 

    // store to lastPressed 
    lastPressed = [sender currentTitle]; 
} 
+0

如果按鈕被按下兩次,這段代碼也會打印出日誌..嘗試只用一個'NSLog'就可以實現這個方法。還要使簽名中的'sender'變爲'id'。如果您仍然看到線路,請仔細檢查連接。 – 2012-02-17 09:15:19

回答

0

如果你多次。

而Vince說這是一個很好的使用id的做法,這不是因爲這個方法被按鈕觸發,現在它們應該總是被按鈕觸發。

當你每次登錄而不是隻有雙打時,它更容易調試。

NSLog(@"Button pressed: %@", [sender currentTitle]); 
+0

我不知道爲什麼,有時我得到了一些延遲的雙重事件 2012-02-17 18:22:58.190 Calc [318:fe03] Button pressed:9 2012-02-17 18:22:58.263 Calc [318:fe03]按下按鈕:9 – Laszlo 2012-02-17 17:38:51

相關問題