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 _endItemAnimations] 中的 UICollectionView 断言失败