0

我有一个视图层次结构,其中包括一个带有嵌套 UIScrollView 的顶级 UIView,其中包含许多嵌套 UIViews,其中包含 UILabels、UITextFields 等。

我想在所有东西的顶部覆盖一个 UIView,这样我就可以拦截某些触摸和拖动事件(基本上是为了编辑整体布局)。

我希望 UIScrollView 仍然可以工作,所以我需要将(全部?)触摸和手势通过覆盖层传递到底层视图。当某些触摸发生时,我将拦截触摸并创建一个拖动情况,其中触摸的子视图将以编程方式在子视图内移动。

创建覆盖 UIView 以便(所有?)触摸和手势可以通过的最佳方法是什么?一些代码示例将不胜感激。

非常感谢。

4

2 回答 2

0

子类化覆盖 UIView 并覆盖 touchesBegan, touches.. 方法,如下所示:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    // Do your stuff
    [[[self view] nextResponder] touchesBegan:touches withEvent:event];
}

对 touchesMoved、touchesEnded 和 touchesCancelled 执行相同的操作。

不是 100% 确定这会奏效,试一试:)

于 2012-05-23T11:39:35.353 回答
0

最后,我修改了我的结构,因此覆盖层使用平移手势处理了所有内容

于 2012-05-30T10:38:31.630 回答