iOS TapGestureRecognitor——多点触摸实现

iOS TapGestureRecognitor——多点触摸实现,ios,objective-c,uigesturerecognizer,uitapgesturerecognizer,Ios,Objective C,Uigesturerecognizer,Uitapgesturerecognizer,目标:我喜欢检测用户用来点击屏幕的手指数 可能的解决方案:使用UITapgestureRecognitor。我只想使用一个识别器,并使用它调用的方法内的recognizer.numberoftoucks检查触摸次数。但是,它似乎是一个严格相等的限定符,而不是大于或等于限定符。i、 e.如果我将numberoftouchsrequired设置为1,则我的UITapgestureRecognitor不会对两个手指轻触做出响应。因此,我必须创建5个不同的UITapGestureRecognitor,每

目标:我喜欢检测用户用来点击屏幕的手指数

可能的解决方案:使用
UITapgestureRecognitor
。我只想使用一个识别器,并使用它调用的方法内的
recognizer.numberoftoucks
检查触摸次数。但是,它似乎是一个严格相等的限定符,而不是大于或等于限定符。i、 e.如果我将
numberoftouchsrequired
设置为1,则我的
UITapgestureRecognitor
不会对两个手指轻触做出响应。因此,我必须创建5个不同的
UITapGestureRecognitor
,每个都具有不同的
所需的触摸次数(1、2、3、4和5)


这是最佳解决方案吗?这让我感觉很不舒服。

您可以尝试对UIGestureRecognitizer进行子类化,并创建一个自定义识别器来检测屏幕上有多少个手指。以下是有关如何将UIgestureRecognitor子类化的注释:

或者您可以为视图实现touchesbreated:withEvent方法,并计算触摸次数

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

view.multipleTouchEnabled = YES;