两个手势同时被识别

Posted

技术标签:

【中文标题】两个手势同时被识别【英文标题】:Two Gestures getting recognized simultaneously 【发布时间】:2014-12-29 06:24:25 【问题描述】:

我有两个集合视图,一个位于另一个下方,类似于 Skype Like Navigation(请查看最新的 Skype iPhone 应用程序)。完整结构与标题视图的视差滚动一起工作正常。在Skype Like Navigation Github查看它

如果您在应用程序中看到,当您滚动 Content CollectionView 时,顶部标题视图也会根据标题单元格大小滚动。并且当 Header CollectionView 滚动时,Content CollectionView 也会滚动。

我已经为用户滚动的 Content Collection View 编写了所有计算,并且为了在用户滚动 Header Collection View 时获得所需的工作,我已经将 ContentCollectionView 的 Pan Gesture 添加到 Header Collection View 和它工作正常。

但它有一个副作用,我的 Content Collection 单元格包含一个 UITableView,现在当我尝试滚动 tableview 并且如果我的手指稍微向右或向左移动时,Content Collection 视图也会滚动(仅供参考,UITableView 是垂直的滚动和 UICollectionView 是水平滚动)。

我相信将 Pan Gesture 添加到 Header CollectionView 会扰乱滚动。

所以如果有人知道修复方法,请告诉我。

演示:Skype Like Navigation Demo

谢谢

【问题讨论】:

在此处使用类似答案的内容:***.com/questions/14337753/… 这没有帮助。查看演示,您将了解我到底面临什么问题。 【参考方案1】:

好的,我现在有了。它的简单要点是,当表格视图滚动时,您禁用集合视图上的滚动。

如需了解更多信息,请参阅 Github 上的my pull request。

【讨论】:

您能否接受我的回答,以便其他人看到这解决了问题?

以上是关于两个手势同时被识别的主要内容,如果未能解决你的问题,请参考以下文章

特定手势的同时手势识别

在 uiimageview 上无法识别点击手势

如何使用 2 个手势识别器同时接收事件?

SWIFT4:如何让两个点击手势识别器一起工作

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

我可以在 tableviewcell 中发现 tableview 手势识别器的状态吗