我正在研究一個基於導航的iPhone應用程序,該應用程序有兩個主要用途:一,以分層視圖呈現數據,允許用戶深入並最終編輯所述數據,二,在所有用戶點擊表格視圖單元格時執行默認操作。我現在需要提供一組與相同數據綁定的選項;然而,顯然採用了didSelectRowAtIndexPath:和accessoryButtonTappedForRowAtIndexPath:方法。UITouch事件和表格視圖
所以,我的選擇似乎是實現一個雙抽頭方法,其中附加選項的小列表將出現在(你猜對了)在所述表格行上的雙擊;或者優選地是輕敲和保持方法。從我所知道的來看,點擊並保持似乎是SDK 4.0中的方式 - 這對我這個炙手可熱的時刻來說沒有好處。我決定採用雙擊選項,但我遇到了一些麻煩。
首先,touchesBegan:withEvent:方法似乎根本不會被調用;放在方法內的斷點不會被調用,而應用程序運行,並表視圖響應,正是因爲它做之前,我插入的方法(這是說,它執行的默認操作):
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *aTouch = [touches anyObject];
if (aTouch.tapCount == 2) {
[NSObject cancelPreviousPerformRequestsWithTarget:self];
}
}
其次,我並不需要處理單擊 - didSelectRowAtIndexPath:方法可以處理單擊即可。雙擊是我想要處理的時髦。我懷疑答案會包含這樣一句話:「你不能讓表視圖處理單擊,touchesBegan:方法處理雙擊,觸摸處理方法必須處理所有這些。」
我真的很感謝你們中的一些人處理過這個問題。提前致謝。