gpt4 book ai didi

ios - 控制 collectionView 从 collectionView Cell 中滚动

转载 作者:搜寻专家 更新时间:2023-11-01 06:33:38 30 4
gpt4 key购买 nike

是否可以通过在 Collection View Cell .swift 文件中编写代码来阻止我的 Collection View 滚动。我希望能够在用户点击单元格中的按钮时停止滚动,然后在再次按下按钮时允许滚动。

最佳答案

为您的单元格创建自定义委托(delegate)

protocol CustomCellDelegate: class {
func cellDidSetScrolling(enabled: Bool)
}

class CustomCell: UICollectionViewCell {

var delegate: CustomCellDelegate?

// ....
}

将委托(delegate)分配给 cellForItem 中的单元格

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
// dequeue cell and assign delegate
var cell: CustomCell?
cell.delegate = self
return cell
}

在按钮操作上调用单元格委托(delegate)。使用 button.tag 确定 enabled

func buttonAction() {
button.tag = button.tag == 0 ? 1 : 0 // toggle value
delegate?.cellDidSetScrolling(enabled: button.tag == 1)
}

ViewController 中实现委托(delegate)

class ViewController: UIViewController, CustomCellDelegate {

func cellDidSetScrolling(enabled: Bool) {
collectionView.isScrollEnabled = enabled
}
}

编码愉快!

关于ios - 控制 collectionView 从 collectionView Cell 中滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44333449/

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