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并不总是被调用。