我有一个UITableView,其中的单元格包含放置在XIB中的网格样式的子视图。今天,他们安排了自动布局和约束。这些子视图可能是十几种类型,其中一些类型具有固定宽度,另一些必须填充空白空间,所有类型都具有固定高度。每个单元格根据其需要显示这些类型的特定集合。
下图显示3个细胞及其子视图
关键是架构需要大量规则来更新约束,并且在添加新的子视图类型时不易维护。在这种情况下,每个单元仅使用一个XIB似乎不是最佳选择,因为初始界面构建器布局只是多种可能排列中的一种,并且单元必须做很多工作才能适应。此外,我更喜欢一种解决方案,当添加新的子视图时,不需要触摸先前的子视图类型。
我考虑过以下解决方案:
在UITableViewcell中插入一个collectionView,并将子视图转换为UICollectionViewCells:
使用新的UIStackView
为每个子视图类型创建一个单独的XIB,并使相应的UIView根据其邻居计算自己的约束,从而构成一个自定义网格系统
您会使用哪种解决方案?你有其他建议吗? 感谢
答案 0 :(得分:1)
I always work with custom collections, for example on this video https://www.youtube.com/watch?v=LFBTbmvFR30
Сustom grid with dynamic size of cells and all collection is resizable with cells You should use collection view with custom layout and custom cells
For example i use this layout for beautiful dynamic greed https://github.com/bryceredd/RFQuiltLayout
And return to you screen, if you can use this layout u can do you collection greed like on a screen without "collection view into collection view cell" - this method is really true, but you should understand how to work with custom layout.
or
U can use "collection view into collection view cell" this is bad method but faster and you can use custom layout.
P.S Trust me, all beautifull collection view have custom layout you can find many examples on gitHub.