我說的是用相同的手指在屏幕上的兩個單獨的觸摸很難捕獲UIButton子類上的雙擊。 (時間延遲捕捉雙擊)
我想我有這個編碼權。但實際上在我的iPad上生成雙擊幾乎是不可能的。是否有可能增加單擊和雙擊之間的時間間隔,因此更容易觸發。我非常快速地進行雙擊,並將其捕獲爲兩次單擊。只有有時我很幸運地觸發了雙擊。我把我的UIButton項目的子類放到scrollview中。
反正我的UIButton的子類實現:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [[event allTouches] anyObject];
NSLog(@"Touch count:%d",touch.tapCount);
if (touch.tapCount == 1)
{
//Do things for one touch
}
else if (touch.tapCount == 2)
{
//Do things for double touch
}
}
這是捕獲事件。這就是爲什麼我認爲我的代碼是正確的,我只是找不到與UIEvent有關的任何事情,以及決定發生多少觸摸的原因。我在一個不同的UIView中測試了這個相同的東西,它的工作和預期完全一樣。
你確定,因爲我在類中試過這個我只是一個UIView,它捕獲了一個'雙'水龍頭,就像我所期望的。但無論如何,關於如何抓住雙擊的任何想法? – 2010-09-09 19:53:59
我剛剛編輯答案給你一個例子 – 2010-09-09 19:55:27
唯一的警告是,手勢識別器只適用於iOS 3.2及更高版本,所以此代碼不適用於3.0和3.1設備。 – 2010-09-09 19:57:06