UICollectionView 动态宽度基于里面的项目数吗?
Posted
技术标签:
【中文标题】UICollectionView 动态宽度基于里面的项目数吗?【英文标题】:UICollectionView dynamic width based on number of items inside it? 【发布时间】:2017-08-17 07:02:17 【问题描述】:
我目前想在屏幕上创建一个浮动 UICollectionView ,只要其中的项目数量发生变化,它就可以改变宽度。
例如:
我更喜欢使用最大宽度 = 280px
如果numberOfItems
= 2,我的 UICollectionView 宽度将适合其中的项目,并且它会增加宽度直到numberOfItems
= 4,如果numberOfItems
> 4,它将启用水平滚动。
有人以前做过吗?请帮帮我。
提前致谢。
编辑:我更新了关于集合视图的图像,目前它只有 2 个项目,而宽度 = 280。
【问题讨论】:
能否提供演示图像的屏幕截图。 @PhaniRaghu 我更新了图像,这是屏幕上的浮动集合视图,所以我没有使用自动布局。 我已经回答了身高问题。同样的事情也适用于宽度。 我不使用自动布局,您的解决方案可以适用于我的情况吗? 这是自动布局的简单解决方案。没有自动布局它不起作用。但是,如果您以编程方式执行此操作,那么您也可以遵循相同的条件。但是你需要改变框架而不是改变宽度。 【参考方案1】:我认为这是您正在寻找的东西。看看我的test project 看看它是如何工作的。 您只需更改宽度限制。
【讨论】:
在这种情况下,我以编程方式创建了这个collectionview,并且不使用自动布局,所以我可以连接一个出口来限制宽度。你有其他解决方案吗?但仍然感谢您的示例。 没问题,那么你应该计算 CollectionView 框架并在 UIView 动画块中对其进行动画处理。以上是关于UICollectionView 动态宽度基于里面的项目数吗?的主要内容,如果未能解决你的问题,请参考以下文章
尝试通过使用 UICollectionViewCompositionalLayout 实现固定高度、动态宽度(包装内容)水平 UICollectionView 的单元格
基于 iphone 5 与 iphone 6 的 UICollectionView 单元格宽度