【发布时间】:2017-03-28 00:05:01
【问题描述】:
我目前正在尝试创建一种方法来删除集合视图中位于 1 后面的 indexPath 的项目。到目前为止,我已经使用了一些帮助来创建一个带有 scrollview 的函数确实滚动以创建一种方法来计算当前图像方法用户在哪个图像上。我现在需要一种方法来计算用户在哪个单元格上。这是我的代码>
var currentImage = 0
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let x = floor(myCollectionView.contentOffset.x / view.frame.width)
if Int(x) != currentImage {
currentImage = Int(x)
//print(currentImage)
}
if currentImage > 0 {
for collectionCell in myCollectionView.visibleCells as [UICollectionViewCell] {
let indexPath = myCollectionView.indexPath(for: collectionCell as UICollectionViewCell)!
let indexPathOfLastItem = (indexPath?.item)! - 1
let indexPathOfItemToDelete = IndexPath(item: (indexPathOfLastItem), section: 0)
imageArray.remove(at: 0)
myCollectionView.deleteItems(at: [indexPathOfItemToDelete])
currentImage = 1
【问题讨论】:
-
根据我的回答下面的 cmets,你的问题根本不是你应该问的。为什么不将您的问题更新为真正的问题 - 如何获取当前单元格的索引路径以便将其删除。在你的问题中更清楚地说明这一点。包括相关显示您需要在哪里做出此决定。您真正想要的与在
scrollViewDidScroll方法中打印可见单元格无关。 -
hmm 老实说,我想删除collectionview中的项目(返回1个项目)你需要通过将contentsize除以宽度来获得项目的indexPath,并告诉用户在哪个图像上。?
-
是的,您确实需要索引路径。请再次阅读我的评论,并相应地更新您的问题。到目前为止,您只更新了标题。您需要重做整个问题。您当前的大部分问题与您真正想做的事情无关。
-
好的,我已经按问题适当地编辑了
-
再一次,您的问题与滚动或
scrollViewDidScroll委托方法无关。您实际上想通过哪种方法删除单元格并确定其索引路径?
标签: ios swift uicollectionview nsindexpath