我有一个视图层次结构,其中包含一个顶级UIView,其中包含嵌套的UIScrollView,其中包含许多包含UILabel,UITextFields等的嵌套UIView。
我想将UIView覆盖在所有内容的顶部,以便拦截某些触摸和拖动事件(主要用于编辑整体布局)。
我希望UIScrollView仍能正常工作,所以我需要通过叠加层将(全部?)触摸和手势传递给底层视图。当某些触摸发生时,我将拦截触摸并创建一个拖动情境,触摸的子视图将以编程方式在子视图中移动。
创建叠加UIView的最佳方法是什么,以便(全部?)触摸和手势可以通过?一些代码示例将非常受欢迎。
非常感谢。
答案 0 :(得分:0)
覆盖UIView的子类并覆盖touchesBegan,触及..这样的方法:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
// Do your stuff
[[[self view] nextResponder] touchesBegan:touches withEvent:event];
}
对touchesMoved,touchesEnded和touchesCancelled执行相同的操作。
不是100%肯定这会起作用,试一试:)
答案 1 :(得分:0)
最后我修改了我的结构,所以叠加层使用平移手势处理所有内容