首页 > 解决方案 > UICollectionView 不会立即注册长按

问题描述

我在应用程序的 UIViewRepresentable 中使用 UICollectionView。我正在尝试在 UICollectionView 上注册一个长按手势,最小按下持续时间为 0 或非常接近 0,但在事件激活之前按下持续等待大约 0.5 秒

到目前为止我尝试过的 1:在 UIViewRepresentable 的 makeView 函数中,将返回的 UICollectionView 的 delaysContentTouches 设置为 false :
uiCollectionView.delaysContentTouches = false

2:将 LongPressGesture 的 delaysTouchesBegan 设置为 false,并将最小按下持续时间设置为 0 或 0.001 lp.delaysTouchesBegan = false lp.minimumPressDuration = 0.0' ///or to 0.001

3:继承 UICollectionView 并添加以下单个方法覆盖

override func addGestureRecognizer(_ gestureRecognizer: UIGestureRecognizer) {
    gestureRecognizer.delaysTouchesBegan = false
    super.addGestureRecognizer(gestureRecognizer)

} 最后是 4:在我的子类 UICollectionViewCell 中使用相同的覆盖函数覆盖,尽管老实说,在那一点上我正抓着稻草。

关于如何让这个长按立即生效的任何想法?

标签: iosuicollectionviewswiftuiuiviewrepresentable

解决方案


推荐阅读