0

目標:我喜歡檢測用戶用來點擊屏幕的手指數量。iOS TapGestureRecognizer - 多次觸摸執行

可能的解決方案:使用UITapGestureRecognizer。我想只使用一個識別器,並在其調用的方法內使用recognizer.numberOfTouches檢查觸摸的數量。然而,它numberOfTouchesRequired似乎是一個嚴格等於限定符,而不是大於或等於限定符。即如果我將numberOfTouchesRequired設置爲1,則我的UITapGestureRecognizer不響應2指敲擊。因此,我必須創建5個不同的UITapGestureRecognizers,每個都有不同的numberOfTouchesRequired(1,2,3,4和5)。

這是最佳解決方案嗎?對我來說感覺很不舒服。

回答

0

您可以嘗試對UIGestureRecognizer進行子類化並創建一個自定義識別器來檢測屏幕上有多少個手指。以下是關於如何子類UIGestureRecognizer的注意事項:https://developer.apple.com/library/ios/documentation/uikit/reference/UIGestureRecognizer_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40009279-CH1-SW2

或者您可以對視圖實施touchesBegan:withEvent方法並計算觸摸次數。

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
    int num_touches = [touches count]; 
} 

只要確保

view.multipleTouchEnabled = YES;