gpt4 book ai didi

ios - Collection View 根据其位置删除项目

转载 作者:行者123 更新时间:2023-11-28 08:13:57 26 4
gpt4 key购买 nike

我创建了一个从图像数组中提取的 Collection View (现在有 8 个,但用户可以添加更多)。我最初使用的是 ScrollView ,但发现使用集合更容易,并且感谢这个伟大的社区,我使用了 Collection View 。我需要找到 indexPath 以在给定点删除项目。所以这是我到目前为止的一些代码,但我对此并不陌生。这是我目前拥有的一些代码。

 class ViewController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource {

@IBOutlet weak var myCollectionView: UICollectionView!


func numberOfSections(in collectionView: UICollectionView) -> Int {
return 1
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return imageArray.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! UserFeedCollectionViewCell
cell.myImage.image = UIImage(named: imageArray[indexPath.row])
cell.myImage.layer.cornerRadius = 12.0
cell.myImage.clipsToBounds = true
return cell
}

//delete item at current item - 2

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
if indexPath.row > 2 {


myCollectionView.deleteItems(at: [])
}
}

希望这会有所帮助,如果您有任何问题,请随时在评论中提问。

编辑:启用分页,水平滚动,每张图片占满整个单元格。

最佳答案

如何在图像索引上保留一个点击数组?

为顶部的索引定义一个变量:

var selected = [IndexPath]()

然后将 didSelectItemAt 实现为:

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
selected.append(indexPath)
if selected.count > 2 {
let ndx = selecte.count - 3
let twoBack = selected[ndx]
myCollectionView.deleteItems(at:[twoBack])
}
}

上面的代码对于第一个选择可以很好地工作,但到那时,您需要弄清楚如何处理下一个选择——是删除 selected 数组并重新开始,还是需要跟踪进一步的选择以处理下一个输入。

根据您希望如何进行,selected 数组需要删除或修改以删除已删除的项目。

关于ios - Collection View 根据其位置删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43011968/

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