Ios UICompositionalLayout未按预期工作(垂直表格滚动和水平分页)

Ios UICompositionalLayout未按预期工作(垂直表格滚动和水平分页),ios,swift,uicollectionview,uicollectionviewcompositionallayout,Ios,Swift,Uicollectionview,Uicollectionviewcompositionallayout,我一直在深入研究iOS 13中引入的“新”组合布局api,希望找到一种解决方案,解决在UICollectionViewCell中嵌入UITableView的人为方法。 我在过去使用过这个令人头痛的解决方案,以便同时提供水平页面滚动和垂直表格滚动。这是一种非常麻烦的做事方式,自从CompositionalLayout发布以来,我一直渴望尝试重构它 到目前为止,没有运气。我可以使水平滚动和垂直滚动工作,但无法通过“应用商店”的行为,即每行以独立的方式水平滚动。 有谁有幸实现了类似的解决方案吗 这是我

我一直在深入研究iOS 13中引入的“新”组合布局api,希望找到一种解决方案,解决在
UICollectionViewCell
中嵌入
UITableView
的人为方法。 我在过去使用过这个令人头痛的解决方案,以便同时提供水平页面滚动和垂直表格滚动。这是一种非常麻烦的做事方式,自从
CompositionalLayout
发布以来,我一直渴望尝试重构它

到目前为止,没有运气。我可以使水平滚动和垂直滚动工作,但无法通过“应用商店”的行为,即每行以独立的方式水平滚动。 有谁有幸实现了类似的解决方案吗

这是我的
CollectionViewLayout
代码:

func createOrthogonalScrollingLayout() -> UICollectionViewLayout {


    let itemSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1.0), heightDimension: .fractionalHeight(0.5))
    let item = NSCollectionLayoutItem(layoutSize: itemSize)

    let groupSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1.0), heightDimension: .fractionalHeight(1.0))
    let group = NSCollectionLayoutGroup.vertical(layoutSize: groupSize, subitems: [item])

    let section = NSCollectionLayoutSection(group: group)
    section.orthogonalScrollingBehavior = .groupPagingCentered
    section.interGroupSpacing = 16
    section.contentInsets = NSDirectionalEdgeInsets(top: 0, leading: 16, bottom: 0, trailing: 16)


    let layout = UICollectionViewCompositionalLayout(section: section)

    return layout

}
这将生成两个项目的垂直滚动和一个水平滚动,其中显示后续页面中的其余项目,但每页仅显示两个项目。我的目标是将“页面”除以一年中的天数,每个页面应该有X个可垂直滚动的项目


谢谢

groupSize高度应该是单元格的高度,例如:

let itemSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1.0), heightDimension: .fractionalHeight(1.0))
let item = NSCollectionLayoutItem(layoutSize: itemSize)
    
let groupSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(0.8), heightDimension: .absolute(250.0))
let group = NSCollectionLayoutGroup.vertical(layoutSize: groupSize, subitems: [item])

我不明白目标是什么。“你能画一张图表吗?”马特补充道。我不懂这个图表。这只是一个静态屏幕截图;我不知道它应该做什么。对我来说,这应该是一个水平滚动的集合视图,其中每个组都是当天发生的事情的垂直滚动序列?很抱歉。这是草图中的UI设计。但没错,这正是我们想要的。当你水平滚动时,你应该移动到第二天,当天的所有事件都垂直滚动。好吧,第一个问题是你忘了将其设置为水平滚动布局。