UICollectionView didselect 和双击冲突

Posted

技术标签:

【中文标题】UICollectionView didselect 和双击冲突【英文标题】:UICollectionView didselect and double tap conflict 【发布时间】:2016-02-05 22:36:26 【问题描述】:

我尝试了两个操作。

    单击即可选择要推送到新视图控制器的单元格。 双击以激活单元格。

我注册了双击手势并将 doubleTapGesture.delaysTouchesBegan 设置为 ture。单击操作只是从单元格到另一个视图控制器的转场。

但是,如果用户单击单元格以移动到另一个视图,则会有 0.5 秒的延迟。问题是系统等待双击手势。如果我删除了 delaysTouchesBegan,它只会识别出选择单元格函数。

如何减少延迟?

【问题讨论】:

【参考方案1】:

请添加此行 Tapgesture.delaysTouchesBegan = YES;

【讨论】:

【参考方案2】:

假设有一个视图 (V),其中包含 UICollectionView (CV)。使用设置向 V 添加双击手势:

doubleTap.numberOfTapsRequired = 2
doubleTap.delaysTouchesBegan = true
doubleTap.cancelsTouchesInView = true

实现简历的didSelect

didSelect 和双击将分开工作。但是由于delaysTouchesBegan,这将是didSelect 触发之前的延迟。

【讨论】:

以上是关于UICollectionView didselect 和双击冲突的主要内容,如果未能解决你的问题,请参考以下文章

使用 didSelectRowAtIndexPath 进行转场

Swift UITableView didSelectRowAtIndexPath 错误

折叠UICollectionView

-[UICollectionView _endItemAnimations] 中的 UICollectionView 断言失败

如何滚动另一个 UICollectionView 下方的 UICollectionView?

UICollectionView 单元内部已加载,但 UICollectionView 未显示