如何为UICollectionView中的元素(包括项目和节)设置动画效果?

时间:2019-03-15 18:36:47

标签: ios swift uicollectionview performbatchupdates

我正在尝试反转UICollectionView中的元素:

let sections: [[Int]] = [[0,1], [1,0]]
let items: [[IndexPath]] = [
    [IndexPath(item: 0, section: 0), IndexPath(item: 1, section: 1)],
    [IndexPath(item: 1, section: 0), IndexPath(item: 0, section: 1)],
    [IndexPath(item: 0, section: 1), IndexPath(item: 0, section: 0)]
]
collectionView.performBatchUpdates({
    for section in sections {
        self.collectionView.moveSection(section[0], toSection: section[1])
    }
    for item in items {
        self.collectionView.moveItem(at: item[0], to: item[1])
    }
}, completion: nil)

预期行为:

部分被交换。在第0节中的2个项目移至索引1之后,将对其进行交换。

实际行为:

部分被交换。项目不会移动。

注意:如果我删除moveSection行,则所有项目都可以正确切换,但是如果不切换节,则我的节页眉/页脚视图将过时。还有另一种方法(缺少重新加载整个集合/部分的方法)吗?

0 个答案:

没有答案