识别用户何时触碰 UICollectionView 单元格

Posted

技术标签:

【中文标题】识别用户何时触碰 UICollectionView 单元格【英文标题】:Recognize when the user touches down on UICollectionView cell 【发布时间】:2019-06-16 22:33:00 【问题描述】:

在 Facebook 应用程序中,他们在故事的顶部有一个集合视图。当用户点击一个单元格时会出现轻微的按压然后返回,这在用户甚至将手指从单元格上抬起之前就开始发生。

我怎样才能达到这个效果?为了简单起见,我想知道如何突出显示该单元格。

更新:

我意识到,当前当用户点击一个单元格时,其中的文本标签会消失,我怎么知道这是在哪里发生的,以便我可以为其他东西制作动画?

更新 2:

我能够接近以下几点:

@objc private func cellLongPressHandler(_ sender: UILongPressGestureRecognizer) 

    print("TOUCH DOWN")
    // handle touch down and touch up events separately

    if sender.state == .began 


     else if  sender.state == .ended 

    


然后:

  cell.addGestureRecognizer(cellLongPressGesture) //new jun 16

然而,问题是,当它被添加时,集合视图是不可滑动的,因此无法使用。 我该如何解决这个问题?

【问题讨论】:

你想检测一个touchDown。这里有一些想法:***.com/questions/19611601/… 【参考方案1】:

使用这些方法: SWIFT 4

func collectionView(_ collectionView: UICollectionView, didHighlightItemAt indexPath: IndexPath) 


【讨论】:

以上是关于识别用户何时触碰 UICollectionView 单元格的主要内容,如果未能解决你的问题,请参考以下文章

UICollectionView:如何检测滚动何时停止

如何可靠地确定 UICollectionView 布局何时完成动画

如何知道 UICollectionView 何时完成布局?

手势识别器在其他 UICollectionViewCell 内的 UICollectionView 上不起作用

我如何观察用户何时使用生物识别技术对应用程序进行身份验证?

在 iOS 12 中,UICollectionView 何时布局单元格,在 nib 中使用 autolayout