collectionViewCell 中的按钮不触发功能

Posted

技术标签:

【中文标题】collectionViewCell 中的按钮不触发功能【英文标题】:Buttons in collectionViewCell not triggering functions 【发布时间】:2019-09-24 14:15:46 【问题描述】:

我在补充 collectionView 单元格中创建了一个按钮作为标题,并向其添加了一个带有目标的按钮,但点击时它不会触发该功能。我究竟做错了什么?

下面是我创建的按钮及其在单元格类中的目标函数。

let dummyButton :UIButton = 
    let button = UIButton(type: .system)
    button.setTitle("Dummy", for: .normal)
    button.layer.cornerRadius = 3
    button.layer.borderWidth = 1
    button.titleLabel?.font = UIFont.systemFont(ofSize: 12)
    button.tintColor = UIColor.brown
    button.addTarget(self, action: #selector(handleTrash), for: .touchUpInside)
    return button
() 


@objc func handleTrash ()
    print("It worked this time around so what was going on?")

我在collectionView Cell 子类中编写了所有这些。请帮忙

【问题讨论】:

我创建了一个补充视图作为标题并将按钮添加到视图中 找到解决方案。我不得不声明按钮是惰性变量。 【参考方案1】:

我找到了解决方案。我必须将按钮声明为惰性变量。

【讨论】:

【参考方案2】:

添加发件人

button.addTarget(self, action: #selector(handleTrash(_:)), for: .touchUpInside)

@objc func handleTrash (_ sender: UIButton)
    print("It worked this time around so what was going on?")

【讨论】:

以上是关于collectionViewCell 中的按钮不触发功能的主要内容,如果未能解决你的问题,请参考以下文章

删除单元格后,collectionViewCell中的按钮中的索引错误

JavaScript | ReactJS:父状态更改不触发子道具更新

Swift - 从 CollectionViewCell 中的 UIButton 推送到 ViewController

自定义 CollectionViewCell 处理按钮按下

CollectionViewCell 顶部的按钮使 collectionView 停止滚动

以编程方式添加到 collectionviewcell 时未启用按钮