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

我有一个场景,我用一个偏移量为130的uitableview叠加了一个视图( pageViewController在视图内),而且uitableview是透明的,只有单元格会滚动和可见。

我的要求是在130这个抵消的地方,我想传递触摸事件的视图( pageViewController ),这是在pageViewController下,该视图不是一个超级视图(这是一个兄弟视图)的表视图,但我重叠了tableview 。

那么是否可以将触摸(水平滑动事件)传递到透明区域(偏移区域130)中的可用视图下面的视图; 如果是的话,我该怎么做呢?

这是我需要将触摸(滑动)事件传递给tableview后面的页面控制器的地方

很多选项可以控制触摸事件和滚动如何在iOS中进行交互。 你可以重写hitTest ,你可以使用发送给手势识别器的委托消息来说出哪些识别器组合应该被触发,等等。如果没有详细的看清你的问题,很难说哪一个是最好的…即使这样,你也许会说它是部分是风格问题。 (乍一看,我猜测,压倒性的testing可能会在不同的时间返回不同的观点。)

我build议您观看“ 高级滚动视图”和“触摸处理技术”上的WWDC 2014video。 这个谈话通过解决一些几乎完全像你的问题来解决,所以你几乎肯定会find一个很好的解决scheme。 还有很多其他的技巧可能会在你的应用程序的其他地方。 (其实,如果你有时间的话,我build议你观看过去几年的WWDC的UIScrollView主题会议……所谓的“Josh&Eliza Show”一直都有很酷的演示和有用的见解。 )