如果单击特定的 CollectionViewCell 做某事

Posted

技术标签:

【中文标题】如果单击特定的 CollectionViewCell 做某事【英文标题】:If specific CollectionViewCell is clicked do something 【发布时间】:2020-04-12 14:45:20 【问题描述】:

我正在尝试弄清楚如何对我的 collectionView 进行编程以检测被点击的单元格,然后我想使用 if 方法为每个单元格做一些不同的事情。

当这样做时:

   @objc func tap(_ sender: UITapGestureRecognizer) 

       let location = sender.location(in: self.collectionView)
       let indexPath = self.collectionView.indexPathForItem(at: location)



       if let index = indexPath 
          print("Got clicked on index: \(index)!")



       

例如,我的调试器说:当我单击单元格编号 3 时,单击索引:[0, 3]。 我想要完成的是,例如,如果单击单元格 3,则执行某些操作。 以及所有其他单元格的不同操作。

我尝试了不同的方法,例如这种方法

 if indexPath?.section == 3 

            NSLog("Tapped 3")
        

但没有运气。 可能是一种简单的方法,但我对编程很陌生,在其他帖子或视频上没有找到任何帮助。

【问题讨论】:

【参考方案1】:

您不需要手动处理点击事件。使用该函数获取单元格点击事件。

func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: IndexPath) 
 //print(indexPath.row) // this print 2 when you click on 3rd cell(because indexes starting from 0)

if indexPath.row == 2
 //the action you want to do when 3rd cell click

 // do something you want


【讨论】:

好的,但是如果单击 3,您可以为特定代码制作一个特定的代码吗?

以上是关于如果单击特定的 CollectionViewCell 做某事的主要内容,如果未能解决你的问题,请参考以下文章

IE - 如果选择框具有特定类,则阻止焦点(单击,双击)

单击一个复选框时如何禁用特定复选框? JavaScript

AngularJS:处理单击具有特定类的 div

如何在JSP中的特定按钮的单击/提交事件上调用特定的Java方法?

Android 通知单击保持堆栈并在需要时将应用程序置于最前面。如果特定活动在顶部,则传递数据

单击推送通知时对特定活动的意图。