更改 UICollectionView 的流布局

Posted

技术标签:

【中文标题】更改 UICollectionView 的流布局【英文标题】:Change the flow layout of a UICollectionView 【发布时间】:2014-05-28 23:27:01 【问题描述】:

根据筛选结果,我需要更改集合视图的流布局并使用不同类型的单元格重新加载数据。但是你不能这样做:

myCollectionView.flowLayout = ...

那么如何改变集合视图的流布局呢?

【问题讨论】:

【参考方案1】:

你说:

但是你不能这样做:

myCollectionView.flowLayout = ...

但实际上你可以设置集合视图的collectionViewLayout,它就是你想要的:

为这个属性分配一个新的布局对象会导致新的布局被应用到集合视图的项目上。

【讨论】:

而且它非常酷 - 当您设置布局时,您应该会在单元格重新定位时看到动画。 flowLayout 属性已更名为 collectionViewLayout。 @ShuZhang 你没看懂问答。问题是为什么没有 flowLayout 属性。答案是有一个collectionViewLayout 属性代替。 @pavan 你还没有理解答案。阅读 cmets。 OP是那个说flowLayout的人。我只是引用他的话(这就是黄色块的意思)。我的答案以“实际上”开头,将他指向collectionViewLayout 如果你使用 UICollectionViewController,collectionViewLayout 属性是只读的。那就是您不能通过以下方式设置它: self.collectionViewLayout = myFlowLayout 一个必须真正深入到 collectionView 并将其设置为: self.collectionView?.collectionViewLayout = myFlowLayout

以上是关于更改 UICollectionView 的流布局的主要内容,如果未能解决你的问题,请参考以下文章

iOS 流布局 UICollectionView使用(UICollectionVIew的代理方法)

UICollectionView 作为 UITableView 子视图流布局循环

UICollectionView 自定义流布局在滚动时崩溃

iOS流布局UICollectionView系列七——三维中的球型布局

UICollectionView 流布局没有固定的行高

具有自定义流布局的 UICollectionView - 在具有活动平移手势的情况下滚动时单元格出现故障