如何将触摸事件传递到tableview下的另一个视图?

时间:2015-11-30 16:00:13

标签: ios objective-c iphone xcode

我有一个场景,我将视图(视图中的pageViewController)与uitableview重叠,偏移量为130,uitableview为透明,只会滚动单元格并且可见。

我的要求是在130的偏移位置,我想将触摸事件传递给pageViewController以下的视图(uitableview)并且该视图不是超级视图(它是兄弟姐妹)查看表视图,但我将其与tableview重叠。

因此可以将触摸(水平滑动事件)传递给透明区域中uitableview下方的视图(偏移区域为130);如果是的话,我必须为此做些什么?

This is where I need to pass touch (swipe) event to the page controller which is back of the tableview

1 个答案:

答案 0 :(得分:3)

lot 选项可用于控制触摸事件和滚动在iOS中的交互方式。您可以覆盖hitTest,您可以使用发送到手势识别器的委托消息来说明识别器的哪些组合应该在何时触发等。如果没有详细查看您的问题,很难说哪个是最好的......即便如此,你可能会说这部分是风格问题。 (乍一看,我猜想覆盖hitTest以在不同时间返回不同的视图可能就是这样。)

我建议您在Advanced Scrollviews and Touch Handling Techniques观看WWDC 2014视频。这个讲话通过解决一些听起来几乎和你一样的问题来解决,所以你几乎肯定会在那里找到一个好的解决方案。还有很多其他技巧可能会对您应用中的其他地方有所帮助。 (实际上,如果你有时间,我建议观看过去几年年'WWDC的UIScrollView主题会话......所谓的“Josh& Eliza Show”一直是充满了很酷的演示和有用的见解。)