Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 无需任何事件即可获得所有接触_Iphone_Uitouch - Fatal编程技术网

Iphone 无需任何事件即可获得所有接触

Iphone 无需任何事件即可获得所有接触,iphone,uitouch,Iphone,Uitouch,我正在寻找一种方法,即使没有发生任何事件,也能获得所有当前的接触。我知道[UIEvent alltoucks]但我需要能够看到“屏幕上的所有触摸”,即使它们都没有改变。这似乎应该是可能的,因为所有触摸都可以访问尚未更新的触摸,因此手机正在跟踪它们。尝试hitTest:withEvent和filter with pointInside:withEvent。覆盖触摸开始和触摸结束,并将当前点与事件中缓存的点进行比较。hitTest将告诉我点所在的视图。我想要一套屏幕上所有的触摸屏。除非我误解了什么。

我正在寻找一种方法,即使没有发生任何事件,也能获得所有当前的接触。我知道
[UIEvent alltoucks]
但我需要能够看到“屏幕上的所有触摸”,即使它们都没有改变。这似乎应该是可能的,因为所有触摸都可以访问尚未更新的触摸,因此手机正在跟踪它们。

尝试hitTest:withEvent和filter with pointInside:withEvent。

覆盖触摸开始和触摸结束,并将当前点与事件中缓存的点进行比较。

hitTest将告诉我点所在的视图。我想要一套屏幕上所有的触摸屏。除非我误解了什么。我通常使用pointInside进行点击测试,以确定当响应程序链中的组件(如嵌套滚动视图、自定义GUI小部件等)出现问题时,用户在最上面的视图上触摸的坐标,[UIEvent AllTouchs]返回所有触摸的数组(UITouch)API希望您可以使用。您想要的是访问最后一个系统UITouch的内部状态?我认为你能做的最好的事情就是访问ToucheSBegind和touchesEnded,并缓存一个UITouch,自己比较。是的,我担心我必须自己做,只是看起来很傻,他们不向你开放。似乎最好的办法是按照你说的缓存点。如果你想把它作为一个答案,我会接受的。请注意,我没有当前的点进行比较。我只是使用了
touchsbegind/move/end
来维护触摸位置的缓存,并在必要时引用它。那么touchscancelled呢?此外,touchesend并不总是被调用。