【发布时间】:2018-09-23 20:58:35
【问题描述】:
当我以编程方式滚动到项目时,我只是想制作一个自定义动画。因此,当我不编写动画并使用默认单元格时不会消失,但是当我将 scrolltoItem func 放入 UIView.animate func 时,最后一个单元格首先消失,然后 scrollToItem 动画。 在最上面的collectionView的第二张图片中,位于独立游戏单元之前的位置首先消失,然后collectionView从独立游戏单元滚动到下一个
为什么会发生这种行为?为什么当我没有以我的方式故意为它设置动画,而只是用动画 = true func 调用 scrollToItem 时,什么都没有消除?如果有人知道细胞发生了什么,请给我一个线索。
UIView.animate(withDuration: 10, delay: 0, options: .curveEaseInOut, animations: {
self.appsCollectionView.scrollToItem(at: IndexPath(item: self.actualNumberOfTheCell, section: 0), at: .centeredHorizontally, animated: false)
}, completion: nil)
【问题讨论】:
-
实际上在你的代码中你在动画中说我想滚动到第 4 个项目(你当前的位置是 0)所以动画认为你现在不需要第 0 个元素所以它只是删除它们并制作动画你的其他单元格相应地。您可以尝试在动画中使用
setContentOffset,滑动方向的偏移增量为+1。不知道性能如何,这是一个尝试。只需检查它是否有效 -
对此仍然没有答案?
标签: ios swift uiscrollview uicollectionview uianimation