UIView点击时通过tag传递参数

主要分两种,一种是能够自己接收点击事件的,如UIButtom,一种是本身不能接收点击事件的,如UIImageView,UILabelView
1,UIButtom的传值

cell.callBtn.tag = indexTab*1000 + indexPath.row
cell.callBtn.addTarget(self, action:  #selector(itemclicked(sender:)), for: .touchUpInside)
@objc func itemclicked(sender:UIButton) {
        print("\(sender.tag) clicked")
}

2,UIImageView的传值

cell.addImage.tag = index
let tapListen = UITapGestureRecognizer(target:self, action:#selector(itemclicked(sender:)))
cell.addImage.isUserInteractionEnabled=true
cell.addImage.addGestureRecognizer(tapListen)
@objc func itemclicked(sender:UITapGestureRecognizer) {
        print("\(sender.view?.tag) clicked")
}

对于第二个,尤其需要注意的是响应事件的参数是UITapGestureRecognizer,而UIButtom的点击事件参数是UIButtom

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,866评论 6 13
  • 好奇触摸事件是如何从屏幕转移到APP内的?困惑于Cell怎么突然不能点击了?纠结于如何实现这个奇葩响应需求?亦或是...
    Lotheve阅读 58,842评论 51 604
  • 响应者对象 在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件。我们称之...
    JonesCxy阅读 4,014评论 0 0
  • 在iOS开发中经常会涉及到触摸事件。本想自己总结一下,但是遇到了这篇文章,感觉总结的已经很到位,特此转载。作者:L...
    WQ_UESTC阅读 11,302评论 4 26
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,408评论 19 139