gpt4 book ai didi

ios - CollectionView 内的按钮不可点击

转载 作者:可可西里 更新时间:2023-10-31 23:55:28 25 4
gpt4 key购买 nike

我在 Collection View 的自定义单元格中有一个按钮。 Collection View 在 ScrollView 上。出于某种原因,我无法点击按钮。我已检查我的所有元素是否都启用了用户交互。

这是我的收藏布局(我隐藏了一些敏感数据) enter image description here

这是我的自定义 Collection View 单元格:

class MyCollectionViewCell: UICollectionViewCell {

@IBOutlet weak var nameLabel: UILabel!
@IBOutlet weak var connectButton: UIButton!

var onConnectTap: (MyCollectionViewCell) -> Void)?
@IBAction func connectButton(_ sender: Any) {
onConnectTap?(self)
}

func populate(_ user: User) {
nameLabel.text = user.name
}
}

我有一个 xib 文件,其中一个按钮的 Touch Up Inside 事件已连接到 connectButton IBAction。

在我的 ViewController 中:

MyCollectionView.register(UINib(nibName: "MyCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "cell") 

这是我的 ViewController 中的 Collection View 函数:

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

let cell = myCollectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! MyCollectionViewCell
let user = users.values[indexPath.row]
cell.populate(user)

cell.onConnectTap = { (cell) in
//do something
}

return cell

}

当我点击按钮时没有任何反应。我在这里错过了什么吗? ScrollView 是否干扰?我需要指定一个 addTarget 吗?还是别的?

最佳答案

在搜索了整个网络之后,我终于找到了这个 SO 答案的评论中的解决方案:https://stackoverflow.com/a/44908916/406322

我需要在 MyCollectionViewCell 中添加这个:

self.contentView.isUserInteractionEnabled = false

我认为单元格选择劫持了触摸事件。

关于ios - CollectionView 内的按钮不可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49615125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com