2012-05-25 26 views
0

我正面临处理触摸事件的微妙问题。这可能不是通常的东西,但我认为这是可能的。我只是不知道如何...黑客ios ui响应者链

我有一个主视图(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,但滚动视图取消触摸,它只有时有效。

我需要一个一致的方法来首先捕获触摸,检测它是否是双指平底锅,然后才决定它是否会通过触摸向下(或向上......我不确定)响应链。

我试图创建一个顶级视图来处理这个问题,但是我不能让这个视图通过触摸传递。

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

如果有人能给我一个灯,那将是很棒的,因为我已经绝望了。

回答

0

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

BOOL CGRectContainsPoint(CGRect rect, CGPoint point) 

方法。 Rect是一个观点的框架,并且指向是触摸点。

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

或者,也许它可以提供更多的帮助

Receiving touch events on more then one UIView simultaneously