如何允许某些手势通过 superview 到它下面的视图?

Posted

技术标签:

【中文标题】如何允许某些手势通过 superview 到它下面的视图?【英文标题】:How do I allow certain gestures to go through a superview to a view below it? 【发布时间】:2012-04-12 02:04:50 【问题描述】:

我有一个视图,其中包含三个图像视图。这些图像视图响应某些手势。我想允许某个手势(例如在屏幕上滑动)对所有图像视图执行操作(例如,将它们全部删除)。

我能想到让滑动手势在屏幕上的任何地方都能被识别的唯一方法是覆盖一个清晰的超级视图来寻找滑动手势。我的问题;但是,我不知道如何让超级视图忽略所有其他手势,因此我仍然可以与下面的图像视图交互。有没有更简单的方法来处理这个问题?

【问题讨论】:

为了清晰起见的简单图像? imgur.com/nsNP2,kwQC2 【参考方案1】:

尝试将手势添加到视图的窗口而不是视图:

[self.view.window addGestureRecognizer:gesture];

【讨论】:

以上是关于如何允许某些手势通过 superview 到它下面的视图?的主要内容,如果未能解决你的问题,请参考以下文章

当superview有手势时collectionView没有调用didSelectItemAtIndexPath

如何将手势识别器从一个视图传递到另一个视图

在某些情况下,孩子如何忽略 UIGesture 并让 superview 处理它?

如何在父视图中禁用点击手势?

xib中关于拖拽手势的潜在错误

iOS 上的手势过滤