我需要在 iOS MonoTouch 应用程序中跟踪多个触摸事件。我已经覆盖了 TouchesBegan、TouchesCancelled、TouchesMoved 和 TouchesEnded 方法。
我现在需要弄清楚的是如何在每个覆盖期间迭代触摸(会有多个)并匹配它们。我想知道触摸何时开始并对其进行操作而不是不同的触摸事件。用户可能会放下一根手指,此时如果该手指一直向下,我将启动一个计时器来做某事。
如果在那段时间用户放下另一根手指,我会想为那个不同于第一个手指的手指启动一个计时器。
我很确定我可以找到一种方法来存储我的计时器等。我不知道如何遍历 NSSet 在每个覆盖中包含的触摸事件,然后如何在覆盖之间唯一地标识它们。
我假设 NSSet 中的 TouchesBegan 触摸将与这些覆盖获得的 NSSet 中的 TouchesMoved、TouchesCancelled 或 TouchesEnded 触摸匹配。
这是真的吗?如果是这样,我如何获取每一个并唯一标识它们以匹配它们?
Best Answer-推荐答案 strong>
这是 MonoGame 使用 TouchesBegan 等的一个很好的例子:https://github.com/mono/MonoGame/blob/develop/MonoGame.Framework/iOS/iOSGameView_Touch.cs
UITouch 还有一个时间戳字段,您可以使用它来区分触摸。我认为您应该将它们存储在字典中以获取您提到的功能。
这是 UITouch 的类引用:http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UITouch_Class/Reference/Reference.html
关于ios - iOS 上 MonoTouch 中的多点触控,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/9985472/
|