gpt4 book ai didi

ios - 如何在保持单元格选择的同时向 UICollectionView 添加点击手势?

转载 作者:IT王子 更新时间:2023-10-29 05:13:05 26 4
gpt4 key购买 nike

任务

UICollectionView 添加单击手势,不妨碍单元格选择。

我想在 collectionView 的无单元格部分进行一些其他点击。

代码

使用 XCode8、Swift 3。

override func viewDidLoad() {
...
collectionView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(tap)))
}

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
print(indexPath)
}

func tap(sender: UITapGestureRecognizer){
print("tapped")
}

结果

是的,它现在妨碍了。当您点击单元格时,它会记录“已点击”。

分析

  • 我检查了 collectionView 和单元格的 hitTest 返回值。两者都返回了被点击的 cell,这意味着它们形成了 Cell -> CollectionView
  • 的响应者链
  • 手机上没有手势
  • collectionView 上的 3 个手势,似乎没有人使用单元格选择
    • UIScrollViewDelayedTouchesBeganGestureRecognizer
    • UIScrollViewPanGestureRecognizer
    • UITapGestureRecognizer
  • callStack,似乎单元格选择具有与手势的目标 Action 模式不同的堆栈跟踪。
  • 双击手势与单元格选择一起使用。

问题

找不到更多踪迹。关于如何实现细胞选择或完成此任务的任何想法?

最佳答案

每当你想添加一个手势识别器,但又不想从目标 View 中窃取触摸时,你应该设置 UIGestureRecognizer.cancelsTouchesInView为您的 gestureRecognizer 实例设置为 false。

关于ios - 如何在保持单元格选择的同时向 UICollectionView 添加点击手势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40365971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com