使用组合布局跨越 UICollectionView 中的多个部分的单一背景

问题描述

首先:这个问题是关于如何使用UICollectionViewCompositionalLayout解决问题。我已经使用自定义 UICollectionViewLayout 解决了这个问题,所以这不是问题所在。我目前正在迁移到 UICollectionViewCompositionalLayout

我需要创建一个布局,允许单个背景视图跨越多个部分。我以为我可以使用 NSCollectionLayoutdecorationItem.background(_:) 创建一个布局项,然后设置它的大小,使其跨越所需的部分,但似乎不可能做到这一点。我什至尝试将其子类化以覆盖 var layoutSize: NSCollectionLayoutSize 但该属性似乎从未被调用过。这是我想要做的:

-------------------------------
|       UICollectionView      |
|                             |
|    ---------------------    |
|    | Section 1 (no bg) |    |
|    ---------------------    |
|                             |
|  -------------------------- |
|  |   Multi section bg     | |
|  |   (a "complex" view)   | |
|  |                        | |
|  | ---------------------- | |
|  | |    Section 2       | | |
|  | ---------------------- | |
|  | ---------------------- | |
|  | |    Section ..      | | |
|  | ---------------------- | |
|  | ---------------------- | |
|  | |     Section n      | | |
|  | ---------------------- | |
|  |                        | |
|  -------------------------- |
|    ----------------------   |
|    | Section n+1 (no bg)|   |
|    ----------------------   |
-------------------------------

正如我所说,这在使用自定义 UICollectionViewLayout 时不是问题,但如何使用 UICollectionViewCompositionalLayout 做到这一点?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)