【发布时间】:2016-07-14 09:30:51
【问题描述】:
我有一个集合视图,这个集合视图有 3 个部分:
一个
B
C
然后我想隐藏B部分,那么它会是这样的:
一个
C
我试过了
collectionView.deleteSections(NSIndexSet(index: 1))
但它崩溃并说:
由于未捕获的异常而终止应用程序 'NSInternalInconsistencyException',原因:'无效更新:无效 节数。包含的节数 更新后的collection view (3) 的数量必须等于 更新前集合视图中包含的部分 (3),以及 或减去插入或删除的节数(0 插入,1 已删除)。'
【问题讨论】:
-
您应该通过调用
reloadData从数据源中删除部分并重新加载集合视图。这将触发func numberOfSectionsInCollectionView(_ collectionView: UICollectionView) -> Int,您将在其中返回更新的部分数量。 -
因为我想重用它,我只想隐藏/取消隐藏部分,所以删除数据部分在我的情况下并不好。
-
如果您确实想像@fiks 所说的那样删除数据源,请尝试将部分大小设为零?
标签: ios swift collectionview