如何在全球范围内拦截触摸事件?

时间:2010-04-20 08:37:45

标签: iphone

我的观点有时会被其他一些观点所涵盖。但是,如果用户在屏幕上滑动手指,我也希望在屏幕上滑动该基础视图。

我可以开始为所有涉及子视图和转发各种触摸事件的人制作自定义视图,但这有点麻烦。也许有某种通知或其他方式,UIView或UIControl子类可以立即知道发生的触摸事件,无论它们在哪里。

简而言之:我需要一个UIView子类或UIControl子类,它知道整个屏幕上发生的任何触摸事件。或者至少如果不可能的话,了解在同一底层超级视图中发生的任何触摸事件。

另一种描述:有20个视图,都位于同一个superview中。第一个视图由另外19个人覆盖。但是,如果用户在屏幕上滑动,则第一个视图也必须滑动,因此必须知道触摸事件。

有没有更好的解决方案让所有19个视图转发触摸事件? (是的,在这个例子中,所有19个视图都响应触摸事件)

1 个答案:

答案 0 :(得分:1)

也许UIView的hitTest:withEvent:方法会有所帮助,它帮助我实现了你过去的尝试。