如何堆叠 UICollectionView 部分

Posted

技术标签:

【中文标题】如何堆叠 UICollectionView 部分【英文标题】:How to stack UICollectionView sections 【发布时间】:2013-11-27 05:53:22 【问题描述】:

我最初尝试将两个UICollectionViews 堆叠在一起。然而,让它正确扩展是Auto-layout 的噩梦(我是一名新手 ios 开发人员,因此这比Auto-layout 更像是对我技能的批评)。我想像这样将UICollectionView 单元的两个部分堆叠在一起:

             +----------------------+
             |+-Section 0---------->|
             | +-------+  +-------+ |
             | |       |  |       | |
             | |       |  |       | |
             | |Cell 0 |  |Cell 1 |+->
             | |       |  |       | |
             | |       |  |       | |
             | +-------+  +-------+ |
             +--Section 1---------->|
             | +-------+  +-------+ |
             | |       |  |       | |
             | |       |  |       | |
             | |       |  |       | |
             | |Cell 0 |  |Cell 1 |+->
             | |       |  |       | |
             | |       |  |       | |
             | +-------+  +-------+ |
             |                      |
             +----------------------+

我正在使用自定义流布局,但我什至不确定从哪里开始打破我当前的 2 个部分以像这样堆叠。目前我的部分是这样堆叠的:

                                +--------(Offscreen)
                                |
                                +
          +--------xxxx--------+v
          |   Section 1        | Section 2
          |  +-----+   +-----+ | +-----+  +-------+
          |  |     |   |     | | |     |  |       |
          |  |     |   |     | | |     |  |       |
          |  |     |   |     | | |     |  |       |
          |  |     |   |     | | |     |  |       |
          |  +-----+   +-----+ | +-----+  +-------+
          |                    |
          |                    |
          |  +-----+   +-----+ | +-----+  +-------+
          |  |     |   |     | | |     |  |       |
          |  |     |   |     | | |     |  |       |
          |  |     |   |     | | |     |  |       |
          |  |     |   |     | | |     |  |       |
          |  +-----+   +-----+ | +-----+  +-------+
          |                    |
          |                    |
          |        xxxx        |
          +--------xxxx--------+

【问题讨论】:

【参考方案1】:

UICollectionView 可以垂直或水平滚动,不能同时滚动。如果您只有图中的两个部分,则可以使用两个集合视图。但最好将表格视图之类的设计视为在每个单元格中包含集合视图。这样设计将是灵活的(具有任意数量的部分的水平和垂直滚动)。无论如何设计有点复杂,您应该自定义表格视图单元格以将集合视图放入其中。现在UITableView 将为您提供垂直滚动,并且能够水平滚动每一行(UICOllectionView

【讨论】:

嗨,阿尼尔,感谢您的回复。对不起,我的问题不是很清楚。我实际上不需要垂直滚动,只需水平滚动即可。我遇到的问题是将我的部分分开,以便第 0 部分在顶部(水平滚动通过第 0 部分数据),第 1 部分在它下方(水平滚动通过第 1 部分数据)。 您使用的是 2 个集合视图吗?除非您进行了大量自定义,否则在单个集合视图中是不可能的。简单的事情是并排使用 2 个集合视图(每个都有一个部分)(使用情节提要很容易)并将集合视图设置为水平滚动 是的,我尝试了 2 个集合视图,但我在使用自动布局时遇到了很多困难,我想我会尝试另一种方法。然而,我越想这个,我认为你是对的,实现这一点的唯一方法是使用 2 个集合视图,因为我希望顶部和底部视图能够独立滚动。 继续使用 2 个集合视图。通过向情节提要添加两个集合视图来尝试示例(不要忘记设置滚动方向)。您可以修复的自动布局问题

以上是关于如何堆叠 UICollectionView 部分的主要内容,如果未能解决你的问题,请参考以下文章

如何将我的 UICollectionView Flowlayout 更改为具有水平滚动的垂直列表

如何使 UICollectionview 出现在特定部分

在表格中垂直堆叠两个字符,它们之间没有空格

如何在 Flutter 中将容器堆叠在键盘上,类似于聊天中的 WhatsApp“更多”部分

如何仅重新加载 UICollectionView 的可见部分?

UICollectionView - 如何在同一部分显示不同高度的项目?