目标:我想检测用户用来点按屏幕的手指数。
可能的解决方案:使用UITapGestureRecognizer
。我想只使用一个识别器并在其调用的方法中检查recognizer.numberOfTouches
的触摸次数。但是,numberOfTouchesRequired
似乎是严格相等的限定符,而不是大于或等于限定符。即如果我将numberOfTouchesRequired
设置为1,则我的UITapGestureRecognizer
不响应双指点击。因此,我必须创建5个不同的UITapGestureRecognizers
,每个numberOfTouchesRequired
都有不同的{{1}}(1,2,3,4和5)。
这是最佳解决方案吗?这对我来说很难过。
答案 0 :(得分: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;