问题
- 我从代码初始化了一个UICollectionView,并为其单元格注册了一个自定义类。自定义类有一些UIStackViews来布局一堆UILabel和UIViews。
- 其中一个排列的子视图应包含可变数量的UIViews。为了减少抽象,我们将它们视为“座位”,显示参加此活动的用户的面孔(最多可以是四个,可以是无)
想到的解决方案
(我是新手)
解决方案1
- 让自定义课程列出所有“座位”UIViews,以便我可以将它们视为占位符;
- 让UICollectionView的cellForItemAt方法迭代数据源并取消隐藏已填充的“席位”
解决方案2
- 确保可以从UICollectionView的cellForItemAt方法引用自定义类中的UIStackView
- 来自cellForItemAt使用addArrangedSubview添加所有需要的“席位”
解决方案3
- 注册5个不同的班级(零“座位”至“四个座位”)
- 按照数据源的规定将每个队列出列
- 在我看来,这一点似乎是最不尊严的,但可能是性能损失最小的那个
我完全清楚可能会有更多更好的解决方案。那么,实现这个可变数量的UIViews的最佳方法是什么?为什么呢?
编辑:
虽然我认为这里的单元格布局无关紧要,但我要求发布它
so here it is...