我需要在iOS MonoTouch应用程序中跟踪多个触摸事件。我已经覆盖了TouchesBegan,TouchesCancelled,TouchesMoved和TouchesEnded方法。
我现在需要弄清楚的是如何在每个覆盖期间迭代触摸(将有不止一个)并匹配它们。我想知道什么时候触摸开始并用它做一些事情与不同的触摸事件。用户可以放下手指,此时我将启动计时器,以便在手指停留时做某事。
如果在此期间用户放下另一根手指,我会想要启动一个与第一个不同的计时器。
我很确定我能想办法存储我的计时器等。我无法弄清楚如何遍历NSSet在每个覆盖中包含的触摸事件,然后如何在覆盖之间唯一地标识它们。
我假设NSSet中的TouchesBegan触摸将与NSSets中的TouchesMoved,TouchesCancelled或TouchesEnded触摸相匹配,这些覆盖也会得到。
这是真的吗?如果是这样,我如何得到每一个并唯一地标识它们以匹配它们?
答案 0 :(得分:4)
以下是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