UICollectionView:使用其他手势后未调用 didSelectItemAtIndexPath
Posted
技术标签:
【中文标题】UICollectionView:使用其他手势后未调用 didSelectItemAtIndexPath【英文标题】:UICollectionView: didSelectItemAtIndexPath not called after other gestures are used 【发布时间】:2015-02-27 15:38:18 【问题描述】:我有一个带有 Pinch 和 LongPress 手势的 UICollectionViewController。手势的委托是 UICollectionViewController。
加载视图时,如果我选择了一个单元格,则按预期调用 didSelectItemAtIndexPath。
但是,如果我然后捏或“长按”一个单元格,现在 didSelectItemAtIndexPath 不再被调用。
我的临时解决方案是用一个Tap手势识别器来代替didSelectItemAtIndexPath,效果很好。
没有办法让 didSelectItemAtIndexPath 工作吗? 当 UICollectionView 已经处理了它时,添加一个手势只是感觉不对。
谢谢
【问题讨论】:
【参考方案1】:确保在将手势识别器添加到视图之前,请确保布尔属性“cancelTouchesInView”设置为 false。这可能是因为手势已被识别,因此它忽略了传递到视图的触摸,导致单元格选择方法不被调用。 Link to property.
【讨论】:
我应该提到我已经尝试过了。没有更好的效果:/以上是关于UICollectionView:使用其他手势后未调用 didSelectItemAtIndexPath的主要内容,如果未能解决你的问题,请参考以下文章
重新加载数据后未调用 UICollectionView 数据源方法
重新加载数据后根据要求更新后未显示 uicollectionview 单元格
在 numberOfItemsInSection 返回非零项目编号后未调用 UICollectionView cellForItemAtIndexPath