【发布时间】:2018-10-23 18:02:37
【问题描述】:
我想实现一个交叉布局,就像 Wallapop 应用程序在其主提要上所做的那样。
如您所见,它由两组单元格(特色项目、您附近的项目)组成。第一组水平滚动,第二组垂直滚动。
我想到的第一个实现这种布局的 UIKit 组件是UICollectionView,每个滚动方向都有一个部分。不幸的是,UICollectionView 当前的实现非常有限,无论您声明多少个部分,都只能强制向一个方向滚动。
所以我想尝试一下香草 UIKit 组件,这就是我得到的;
我的解决方案的问题是垂直
UICollectionViewController(以绿色突出显示)自行滚动,而不是向上推动水平UICollectionViewControllers。
我还考虑过为垂直单元格使用单个 UICollectionViewController,并根据需要为水平单元格设置一个带有水平 UICollectionViewControllers 的 UIStackView,但这是一个混乱的解决方案,并且不能很好地扩展好吧,如果我选择这种方式,我什至无法为垂直单元格部分设置标题。
理想情况下,我希望每组可滚动单元格都是它自己的UIViewController,以便明确区分关注点和模块化。
有没有更好的方法来实现我想要的布局?
【问题讨论】:
标签: ios swift uicollectionview autolayout uikit