Swift 在滚动过程中点击UICollectionView时,是否不再识别点击单元格?
此时会显示一个Swift 在滚动过程中点击UICollectionView时,是否不再识别点击单元格?,swift,uicollectionview,uigesturerecognizer,uitapgesturerecognizer,Swift,Uicollectionview,Uigesturerecognizer,Uitapgesturerecognizer,此时会显示一个UICollectionView,在collectionView(uuuxSelectItemAtIndexPath:)中,如果不滚动,则会立即识别其中一个单元格 但是,当滚动UICollectionView并点击某个单元格以停止滚动移动时,将无法再识别该单元格上的后续点击,并且不会触发collectionView(uuux0:didSelectItemAtIndexPath:) 只有当滚动在没有点击的情况下自行停止时,才能识别后续点击 我已经准备好了 collectionView
UICollectionView
,在collectionView(uuuxSelectItemAtIndexPath:)
中,如果不滚动,则会立即识别其中一个单元格
但是,当滚动UICollectionView
并点击某个单元格以停止滚动移动时,将无法再识别该单元格上的后续点击,并且不会触发collectionView(uuux0:didSelectItemAtIndexPath:)
只有当滚动在没有点击的情况下自行停止时,才能识别后续点击
我已经准备好了
collectionView.delaysContentTouches = false
collectionView.canCancelContentTouches = false
及
旁注:
- 单元格包含一个
子视图作为完整封面UIImageView
位于UICollectionView
内的UITableViewCell
内,但是对于这两个视图,我都设置了UIScrollView
和scrollEnabled=false
canCancelContentTouches=false
collectionView.AllowSelection=false
并将UITapegestureRecognitor添加到单元格时,也会发生相同的行为
为什么对细胞的点击不被识别
更新:另一个奇怪的效果是,当
UICollectionView
滚动到其内容之外的区域时,它不会反弹,但会停止滚动,并在释放平移后快速点击单元格时停止查看。在该状态下,无法识别抽头,因此这与上述行为基本相同。此行为的原因是集合视图位于视图控制器的视图内,该视图显示为(简化,更不用说强制展开):
解决方案是删除整个第一行makeKeyAndVisible
override func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
UIApplication.sharedApplication().windows.last?.makeKeyAndVisible()
let parentViewController = UIApplication.sharedApplication().keyWindow!.rootViewController
parentViewController.presentViewController(self, animated: true, completion: nil)