0

我在处理触摸事件时面临一个微妙的问题。这可能不是通常的东西,但我认为这是可能的。我只是不知道怎么...

我有一个主视图 (A) 和主视图 (B) 有很多子视图 1,2,3,4,5,...

MainView
 SubView(A)
   1
   2
   3
 SubView(B)
   1
   2
   3

其中一些子子视图(1,2,4)是滚动视图。

碰巧我想用两个手指盘在 A 和 B 之间切换。

我曾尝试将 UIPanGestureRecognizer 附加到 MainView,但滚动视图取消了触摸,它仅在某些时候有效。

我需要一种一致的方法来首先捕获触摸,检测它是否是两个手指平移,然后才决定它是否会向下(或向上......我不确定)响应链传递触摸。

我试图创建一个顶级视图来处理它,但我无法让触摸通过该视图。

我发现很多人有类似的问题,但无法从他们的解决方案中找到解决这个问题的方法。

如果有人能给我一盏灯,那就太好了,因为我已经对此感到绝望。

4

1 回答 1

0

您可以创建一个顶级视图来捕获触摸和触摸坐标,然后您可以检查触摸坐标是否在子视图内。您可以使用

BOOL CGRectContainsPoint(CGRect rect, CGPoint point)

方法。矩形是视图的框架,点是接触点。

请注意,框架和触摸位置是相对于它们的超级视图,因此您需要将它们转换为应用程序窗口的坐标系。

或者也许它会更有帮助

同时在多个 UIView 上接收触摸事件

于 2012-05-25T15:57:08.697 回答