我目前已经创建了一个图像数组[1 - 8]。我还创建了一个collectionview,用于从imageArray中提取图像,并将图像放入单元格中的imageview。请注意,单元格中有一个imageView,它占用了整个屏幕,水平滚动和分页都启用。删除项目收集视图
现在使用我现在的代码,很奇怪现在发生了什么,所以我会告诉你现在正在发生什么。因此,如果图像是2(索引1),然后你滑过3(索引2),它会跳过图像3(索引2)和4(索引3),并坐在图像5(索引4)上,所以当我的意思是跳过时,我的意思是它滑过你刚刚滑过的图像,还有一个。
(奇怪它会删除图像1和2)一次5.我认为这是由于它正在更新索引或将其设置为2,因为它只是删除0.我知道这可能很难得到但只要想起分页的滚动视图,当你滑动到第三个图像时,它会跳过你的一个图像,并将其滑动到图像5的位置。
到目前为止,由于你们中的一些人,我已经提出了下面的代码,但我希望有人能够解决这个可怕的混乱。
var currentImage = 0
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let x = floor(myCollectionView.contentOffset.x/view.frame.width)
if Int(x) != currentImage {
currentImage = Int(x)
}
if currentImage > 1 {
for collectionCell in myCollectionView.visibleCells as [UICollectionViewCell] {
let visibleCells = myCollectionView.visibleCells
if visibleCells.first != nil {
if let indexPath = myCollectionView.indexPath(for: collectionCell as UICollectionViewCell) {
let indexPathOfLastItem = (indexPath.item) - 1
let indexPathOfItemToDelete = IndexPath(item: (indexPathOfLastItem), section: 0)
imageArray.remove(at: (indexPath.item) - 1)
myCollectionView.deleteItems(at: [indexPathOfItemToDelete])
}
}
}
}
}
显示一些视频或其他东西当用户滚动时你需要做什么 – Saranjith
ok给我一秒钟。 – Nivix
我可以知道,为什么要删除最后一张图片? –