0
我使用下面的代碼來調用一個函數,當有人點擊一個UITableViewCell中的按鈕。不幸的是,即使觸摸在按鈕區域外被釋放,代碼仍然被調用。 (例如,觸摸按鈕,將手指滑離按鈕並且按鈕仍然動作)。UIButton正確的TouchUp檢測
請問有人可以告訴我爲什麼會發生這種情況,或者正確的做法是什麼?我認爲也許我的問題是「addTarget」子句 - 也許TouchUpInside是指我的UITableView而不是按鈕本身?
[cellPeriod.myButton1 addTarget:self action:@selector(buttonClickedStopWatch:) forControlEvents:UIControlEventTouchUpInside];
感謝:你可以添加一個布爾值來決定是否繼續做選擇
增加。我不完全按照你的建議。我聽到你說的關於使用endTrackingWithTouch方法,而不是..但你怎麼建議選擇器有條件地調用?你能舉個例子嗎?謝謝 – SparkyNZ 2012-07-23 07:59:12
@SparkyNZ 1)你可以使用MyButton:UIButton或UIControl,並使用 - (void)endTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)事件;你可以看看我添加的代碼,它可以使用雖然這是非常醜陋的。 2)另一種方法是使用 - (void)touchesEnded:(NSSet *)觸及事件:(UIEvent *)事件;在tableView或tableViewController.view.you可以試試 – cloosen 2012-07-23 11:55:25
非常感謝 - 今晚我會試試這個!它像這樣有用的代碼 - 也可以幫助我更好地瀏覽Apple文檔, – SparkyNZ 2012-07-25 19:51:19