【发布时间】:2017-09-11 20:13:19
【问题描述】:
我想跟踪用户在屏幕上的触摸。用户可以用两根手指触摸然后移除 1 或用一根手指触摸然后立即用另一根手指触摸(屏幕上当前将有两根手指)然后移除一根手指。如何准确跟踪touch 1和touch 2
【问题讨论】:
-
由于用户可以在调用touchesmoved的屏幕上滑动,因此触摸是随机变化的。有没有办法让我按正确的顺序进行触摸。
标签: objective-c
我想跟踪用户在屏幕上的触摸。用户可以用两根手指触摸然后移除 1 或用一根手指触摸然后立即用另一根手指触摸(屏幕上当前将有两根手指)然后移除一根手指。如何准确跟踪touch 1和touch 2
【问题讨论】:
标签: objective-c
我不太明白您所说的“删除 1 或用一根手指触摸,然后立即用另一根手指触摸”是什么意思。我假设您正在寻找的是跟踪多次触摸。如果有,请看我的回答here。
其基本概念是在调用touchesBegan:: 时将每个UITouch ID 存储在一个数组中,然后将每个ID 与touchesMoved:: 事件上的屏幕触摸进行比较。这样,每个手指都可以与单个对象配对,并在平移时被跟踪。
如果您只想跟踪两个手指,只需将 MAX_TOUCHES 设置为 2。希望这会有所帮助。
【讨论】:
NSArray *allTouches = [touches allObjects]; 获取特定事件的触摸,然后使用UITouch *touch = allTouches[i]; 获取您想要跟踪的触摸。您可能希望将其保存在一个变量中以供以后比较以确定它是哪个触摸。