从未在setCollectionViewLayout中调用完成块

时间:2017-11-15 11:02:43

标签: ios swift uicollectionview uicollectionviewlayout

我正在通过移动单元格来更新UICollectionView的布局。

collectionView.moveItem(at: sourceIndex, to: destIndex)

collectionView.collectionViewLayout.invalidateLayout()

collectionView.setCollectionViewLayout(collectionView.collectionViewLayout, animated: true)
{ (done) in
      print("i'm here")
}

但永远不会调用setCollectionViewLayout的完成块,而动画正确完成。 有什么想法吗?

谢谢

1 个答案:

答案 0 :(得分:0)

编辑:

BallpointBen是正确的 - 不需要更改结构。

我认为您没有获得完成功能块的原因是您将布局设置为现有布局。所以,因为没有实际的变化,所以没有完成"。

哎呀......结构应该是:

    collectionView.setCollectionViewLayout(collectionView.collectionViewLayout, 
        animated: true, completion: {
            (done) in
            print("I'm here")
    })