[英]iOS TapGestureRecognizer — Multiple Touches Implementation
目標:我想檢測用戶過去用來點擊屏幕的手指數。
可能的解決方案:使用UITapGestureRecognizer
。 我想只使用一個識別器,並檢查觸摸的數量與recognizer.numberOfTouches
它調用的方法內。 但是, numberOfTouchesRequired
似乎是嚴格相等的限定符,而不是大於或等於限定符。 即,如果我將numberOfTouchesRequired
設置為1,則我的UITapGestureRecognizer
不會響應兩指輕擊。 因此,我必須創建5個不同的UITapGestureRecognizers
,每個具有不同的numberOfTouchesRequired
(1、2、3、4和5)。
這是最佳解決方案嗎? 對我來說,感覺很拙劣。
您可以嘗試對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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.