更改UICollectionView的流式布局

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

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

9

简短明了的回答

您可以通过以下方式访问/设置flowLayout:

collectionView.collectionViewLayout = ...

长回答

你说:

However you can't just do this:

myCollectionView.flowLayout = ...

实际上,您可以设置集合视图的collectionViewLayout,它会按照您的要求执行以下操作:

将新的布局对象分配给此属性会导致将新布局应用于集合视图的项目。


而且这非常酷——当您设置布局时,您应该看到动画,因为单元格被重新定位。 - matt
2
flowLayout属性已更名为collectionViewLayout。 - Shu Zhang
5
@ShuZhang жӮЁжІЎжңүзҗҶи§Јй—®йўҳе’Ңзӯ”жЎҲгҖӮй—®йўҳжҳҜдёәд»Җд№ҲжІЎжңүflowLayoutеұһжҖ§гҖӮзӯ”жЎҲжҳҜжңүдёҖдёӘеҗҚдёәcollectionViewLayoutзҡ„еұһжҖ§д»ЈжӣҝдәҶе®ғгҖӮ - matt
@pavan,你没有理解答案。请阅读评论。OP是说“flowLayout”的人。我只是在引用他(这就是黄色块的含义)。我的“答案”从“actually”一词开始,指向了collectionViewLayout - matt
1
如果您使用UICollectionViewController,则collectionViewLayout属性是只读的。也就是说,您不能通过self.collectionViewLayout = myFlowLayout来设置它。必须实际进入collectionView并像这样设置它:self.collectionView?.collectionViewLayout = myFlowLayout - anorskdev
@anorskdev 这实际上就是我的答案建议的内容。然而,这个链接在多年后已经失效了(苹果改变了其文档格式)。我更新了链接,让它再次指向该属性。 - matt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接