避免两个不同视图之间的触摸手势冲突

Posted

技术标签:

【中文标题】避免两个不同视图之间的触摸手势冲突【英文标题】:Avoiding touch gesture conflicts between two different views 【发布时间】:2018-08-06 18:26:27 【问题描述】:

让我强调一下,有两个重叠的视图,我想处理顶部视图的触摸手势。

UIGestureRecognizeDelegate 方法适用于一个视图中的冲突手势,而不是我读过的两个视图。请不要在没有解释的情况下将我链接到那些线程。

此问题发生在工具栏项和附加了手势的图像视图之间。


上图中的条形按钮无法触摸。

其他应用可以毫无问题地处理这种情况。如果我触摸一个条形按钮,它将起作用,如果我将视图拖动到非重叠部分上,我将能够拖动它。

我怎样才能做到这一点?

当前图像视图附加了手势(一个用于测试,它是一个平移)。


更新

这里要求的是一个 Gif。 注意当工具栏下有视图时按钮没有响应。

【问题讨论】:

您能否添加一个关于当前正在发生的事情的小 gif 图像并从中解释发生了什么问题? 究竟是什么问题?你的解释不清楚。 是的,我添加一个 gif。当视图处于下方时,按钮没有响应。即使工具栏位于顶部,图像视图也会响应其手势 【参考方案1】:

问题是我使用的是view.layer.zPosition,显然更改 zPosition 不会改变视图的位置是子视图层次结构(这是我假设的)。

来源:https://***.com/a/15807250/3366784

【讨论】:

以上是关于避免两个不同视图之间的触摸手势冲突的主要内容,如果未能解决你的问题,请参考以下文章

解决两个平移手势识别器之间的冲突

如何避免 Touches 取消事件?

同一视图中平移和滑动手势之间的冲突?

如何避免 Java 中的类和包之间的名称冲突?

团队合作-如何避免JS冲突

vue--自定义标签属性--用于多个事件共同引用一个组件--但是两个事件要实现的功能不同-避免冲突