问题
-
我有一个从代码初始化的UICollectionView,并为其单元格注册了一个自定义类。自定义类有几个UIStackView来布局一组UILabel和UIView。
-
其中一个排列的子视图应包含数量可变的UIView。为了使其不那么抽象,让我们把它们想象成“座位”,它将显示参加此活动的用户的脸(最多可以是四张,也可以没有)
想到的解决方案
(我是新手)
解决方案1
-
让自定义类列出所有“seat”UIView,以便我可以将它们视为占位符;
-
让UICollectionViews cellForItemAt方法迭代数据源并取消隐藏已填满的座位
解决方案2
-
确保可以从UICollectionView的cellForItemAt方法引用自定义类中的UIStackView
-
从cellForItemAt使用addArrangedSubview添加所有需要的座位
解决方案3
-
注册5个不同的类(0个到4个)
-
根据数据源的指示,对每个数据进行出列
-
在我看来,这是最不庄重的一个,但可能是表现最差的一个
我非常清楚,可能会有更多更好的解决方案。那么,实现这个数量可变的UIView的最佳方式是什么,为什么?
编辑:
虽然我认为这里的单元格布局无关紧要,但有人要求我发布它
so here it is...