我正在寻找在屏幕上检测多个手指的最佳方法。我没有检测到水龙头或捏,只是发生了不止一次触摸的事实。似乎没有任何手势识别器。什么是最好的方式?
答案 0 :(得分:13)
在touchesBegan,touchesMoved和touchesEnded方法中,一个参数是event,它是一个UIEvent对象。屏幕上的手指数为[[event allTouches] count]。
[编辑,因为Josh Hinman指出我以前做错了 - 我以前建议在相同方法的touches参数上使用[touches count]将不起作用。]
答案 1 :(得分:3)
阅读-touchesBegan:withEvent:
方法。这是多点触控事件处理的切入点。
这是关于多点触控事件的开发人员的lib链接: https://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/MultitouchEvents/MultitouchEvents.html
答案 2 :(得分:0)
单/多点触控对您来说是透明的 - 您只需获得触摸开始/移动/结束/点击的通知。如果同时发生两次触摸,您将收到两者的通知。
我不知道任何内置函数可以确定您看到的触摸序列是否包含捏 - 但您可以查看Apple的“触摸”示例代码以获取灵感。
https://developer.apple.com/library/ios/#samplecode/Touches/
答案 3 :(得分:0)
您可以尝试使用UITapGestureRecognizer类,并将numberOfTouchesRequired属性设置为2.
请注意,只有在视图中将multipleTouchEnabled设置为YES时才会有效。
答案 4 :(得分:0)
(void)touchesBegan:(NSSet *)触及withEvent:(UIEvent *)事件{
NSLog(@"%lu",[[event allTouches] count]); }