gpt4 book ai didi

ios - 如何调用 selectItemAt : function at collectionView(_:didSelectItemAt:)?

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

我有一个 UICollectionView,并且 collecitonView 有足够的项目。
当通过触摸选择第 5 个单元格时,我想取消第 5 个单元格选择并返回到最后选择的单元格。
UICollectionView 有如下选项。

var lastSelectedIndexPath: IndexPath
let collectionView = UICollectionView(frame: .zero, collectionViewLayout: UICollectionViewFlowLayout())
collectionView.allowsMultipleSelection = false
collectionView.allowsSelection = true

...

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
if shouldRollBackSelection {
// just test code
collectionView.selectItem(at: lastSelectedIndexPath, animated: false, scrollPosition: UICollectionView.ScrollPosition())
} else {
lastSelectedIndexPath = indexPath
}
}

如果调用了collectionView.selectItem(...)函数,最后选中的cell的isSelected属性的didSet会被调用两次。
First call是false to true,Second call是true to false。结果,最后选中的单元格的 isSelected 属性为 false。

我想回滚 UICollectionView 的 Cell 的选择。我的意思是我不想允许选择特定的单元格。

最佳答案

为那些您不想选择的单元格禁用用户交互

 override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath)
if indexPath.row == 4 {
cell.isUserInteractionEnabled = false
}
return cell

}

关于ios - 如何调用 selectItemAt : function at collectionView(_:didSelectItemAt:)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59046218/

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