gpt4 book ai didi

ios - 在 didSelectItemAt 中实现委托(delegate)

转载 作者:行者123 更新时间:2023-11-28 07:29:31 25 4
gpt4 key购买 nike

我正在使用委托(delegate)在 UICollectionViewCellUICollectionViewController 之间建立连接。在这方面我想说的是,如果用户点击一个 UIView 它的父类(super class)被改变了,我已经通过使用手势做到了。唯一的问题是,我认为我必须将此委托(delegate)实现到 UIcollectionViewdidSelectItemAt 协议(protocol)中,但我不确定该怎么做。

例如,我首先在cellForItemAt 中执行,这是一个错误,购买我可以轻松实现。

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "listCell", for: indexPath) as? ListCell
cell?.selectionDelegate = self // implement the delegate
}

但我不知道如何在 didSelectItemAt 中做同样的事情,因为我认为我应该在这里做,而不是在 cellForItemAt

 func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {

}

非常感谢您的提前帮助

最佳答案

假设您有最初的选择委托(delegate):

protocol SelectionDelegate {
func didSelect(_ cell: ListCell)
}

然后你可以通过调用你的选择委托(delegate)来轻松实现collectionView的didSelect:

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
guard let cell = collectionView.cellForItem(at: indexPath) as? ListCell else { return }
didSelect(cell)
}

关于ios - 在 didSelectItemAt 中实现委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55319754/

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